Vim은 python3으로 컴파일되었지만 has ( 'python')은 0을 반환합니다.


13

방금 다음 지침을 따라 파이썬 3으로 vim을 컴파일했습니다. https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source

설치 후 python3이 있는지 확인했습니다.

vim --version | grep "python"

어느 것이 반환 :

+python3/dyn  

+python/dyn  

그러나 vim을 시작하고 followinf 명령 중 하나를 입력하면 0:

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

비슷한 문제가 있습니까?

편집 : 이봐, 많은 도움이되는 의견, 나는 단지 감사를 말하고 당신들 에게이 문제를 해결하기 위해 무엇을했는지 알려주고 싶었습니다. 나는 내가 제공 한 첫 번째 링크에서 다시 지시를 따랐지만 이번에는 vim.tiny를 제거하고 python2와 python3을 모두 지원하기 위해 vim을 얻는 대신 python3 지원으로 빌드했습니다. 이것은 고정

타자

python3 print("works")

vim에서을 보여줍니다 works. 타자

echo has('python3')

나에게 결과를 1주고 마침내

vim --version | grep python3

나에게 가치를 준다 +python3

모든 도움과 제안에 감사드립니다!


실제 파이썬 명령을 실행하십시오 :python print "works". 그것은 가장 좋은 테스트입니다 (적어도 대화식으로; 내가 선호하는 스크립트에서 has('python')작동합니다)
Ingo Karkat

Ubuntu를 사용하는 경우 pi-rho의 PPA ( launchpad.net/~pi-rho/+archive/ubuntu/dev )를 사용하십시오. 동적 Python / Python3 지원으로 빌드 된 vim이 있습니다.
muru

그것은 나에게도 효과가 있었다!
Enrico Maria De Angelis

답변:


4

이것은 예상 된 결과입니다. 아무 시험은 없습니다 has('python/dyn')has('python3/dyn')has('python')하고 has('python3').


5
has ( 'python3') 또는 has ( 'python') 경우에도 여전히 도움이되지 않습니다. 나는 여전히 0을 얻습니다
user1314272

요점은 동적 파이썬을 테스트 할 수 없다는 has()것입니다 ... 사용하지 마십시오 has().
romainl

2
@romainl 그렇다면 왜 has()아래에서 확인할 수있는 문서화 된 기능 :help feature-list입니까?
jamessan

has('python')반환 1+python +python/dyn . has('python3')+python3/에 대해서도 마찬가지입니다 +python3/dyn. 또한, has('python/dyn')has('python3/dyn')항상 반환 0기능이 여부. 결론 : Sato Katsura has()가 있는지 여부를 결정 하는 데 사용할 수 없으며 +python[3]/dyn인수 형식을 올바르게 지정하는 방법을 알지 못합니다.
romainl

1
그러나 Vim이 /dyn검사 를 지원하는 것이 유용 할 것입니다 . 특히 has('python')Python 라이브러리를로드하기 때문에을 사용할 수 없으며 python3그 반대도 마찬가지입니다.
jamessan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.