Vimはpython3でコンパイルされましたが、has( 'python')は0を返します


13

これらの指示に従って、python 3でvimをコンパイルしました:https : //github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source

インストール後、python3があるかどうかを確認しました。

vim --version | grep "python"

返されたもの:

+python3/dyn  

そして

+python/dyn  

しかし、vimを起動してfollowinfコマンドの1つを入力すると、次のようになります0

  • :echo has('python3/dyn')
  • :echo has('python3')
  • :echo has('python')
  • :echo has('python/dyn')

誰かが同様の問題を抱えていますか?

編集:やあみんなたくさんの有用なコメント、私はただ感謝を言い、みんなに私がこれを解決するために何をしたかを知らせたかった。私が提供した最初のリンクから再び指示に従いましたが、今回はvim.tinyを削除し、vimにpython2とpython3の両方をサポートさせようとする代わりに、python3サポートでビルドします。これはそれを修正しました

タイピング

python3 print("works")

vimでは、を示しますworks。タイピング

echo has('python3')

の出力を与え1、最終的に

vim --version | grep python3

私に価値を与えます +python3

すべての助けと提案をありがとう!


たとえば、実際のP​​ythonコマンドを実行してみてください:python print "works"。それが最良のテストです(少なくともインタラクティブに、スクリプトでは私が好むでしょうhas('python')、それはうまくいくはずです。)
Ingo Karkat

Ubuntuを使用している場合は、pi-rhoのPPA(launchpad.net/~pi-rho/+archive/ubuntu/dev)を使用します。動的なPython / Python3サポートで構築されたvimがあります。
ムル

それも私のために働いた!
エンリコマリアデアンジェリス

回答:


4

これは予想される結果です。そこにはテストがされていないhas('python/dyn')has('python3/dyn')、のみhas('python')has('python3')


5
has( 'python3')またはhas( 'python')を実行しても解決しない場合、0を取得します
user1314272

ポイントは、動的Pythonをテストできないため、has()使用しないことhas()です。
ロメインル

2
@romainlは、なぜそれがしのために確認することができ、文書化機能でhas():help feature-list
ジェームスサン

has('python')リターン1のために+python +python/dynhas('python3')および+python3/ についても同じです+python3/dyn。また、has('python/dyn')そしてhas('python3/dyn')常に返す0機能があるかどうか、。結論:佐藤桂も私も、引数を適切にフォーマットする方法を知っているかどうかをhas()判断するために使用することはできません+python[3]/dyn
ロメインル

1
ただし、/dyn特にhas('python')Pythonライブラリをロードするため、Vimがチェックをサポートすると便利です。つまり、を使用できずpython3、その逆も同様です。
ジェームスサン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.