GNU/Linux >> Linux の 問題 >  >> Linux

YouCompleteMe を vim にインストールする際の Python の問題

YouCompleteMe のビルド システムを確認したところ、Python モジュール distutils を使用するカスタム ビルド スクリプトが使用されています。 Python のライブラリへのパスとインクルード ディレクトリを検索します。あなたの /usr/local/ Python のインストールは、おそらく PATH に含まれています。 公式の /usr の前の変数 python を実行するだけでインストールできます おそらくカスタム インストールが実行され、distutils になります。 そのディレクトリを返します。

これが正しいかどうかを確認するには、which python を実行してみてください . /usr/local/bin/python のようなものが返されると思います .

この時点で、いくつかのオプションが表示されます (優先順)。

<オール>
  • 明示的に実行する Python 実行可能ファイルを指定して、YCM のインストール スクリプトを実行してみてください:/usr/bin/python ./install.py --clang-completer

    YCM で追加のコンプリータを使用する場合は、上記の行に適切なフラグを追加する必要があります (例:--js-completer JavaScript 補完用)。

  • スクリプト third_party/ycmd/build.py を編集します YouCompleteMe のプラグイン ディレクトリで、カスタム Python インストールのパスをハードコーディングします。たとえば、既存の FindPythonLibraries を置き換えることができます 次の関数:

    def FindPythonLibraries():
        return ('/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so',
                '/usr/include/python2.7')
    

    YouCompleteMe のソースを更新するときに上書きされないようにする必要があるため、YouCompleteMe の更新が難しくなることに注意してください。

  • Python のカスタム インストールを、共有ライブラリとして構築されたものに置き換えます。この詳細は、最初に既存の Python インストールをどのようにインストールしたかによって異なります。 dpkg -S /usr/local/lib/python2.7/config/libpython2.7.a を使用して、パッケージを介してインストールしたかどうかを確認できます .このコマンドは、(パッケージ マネージャーをバイパスして) 手動でインストールしない限り、どのパッケージがそのファイルをインストールしたかを示します。
  • カスタムの /usr/local を削除します 公式リポジトリから Python がインストールされていることを確認しながら、Python をインストールします (パッケージ python2.7 そして libpython2.7 ).
  • 長期的には、公式の Python パッケージを使用したほうがよいでしょう。


    Linux
    1. 共有ライブラリのロード中にPythonインストールエラーを修正する方法:libssl.so.1.0.0? [解決済み]

    2. Python.hをコンパイルできません–Websockifyのインストールエラー

    3. Python 3.3.2のインストール?

    1. ConfigParserインストールエラー– pythonsetup.pyegg_infoがエラーコード1で失敗しました[解決済み]

    2. Linux への Python プログラムのインストール

    3. Linux で Python を使用してキーストロークをシミュレートする

    1. Vim:+ xビットでファイルを作成しますか?

    2. Minicondaを使用してPythonアプリケーションをDocker化する方法

    3. Linux 上の Python で export を使用する方法