विम को python3 के साथ संकलित किया गया है लेकिन ('python') 0 देता है


13

मैंने सिर्फ पायथन 3 के साथ विम को संकलित करने के लिए इन निर्देशों का पालन किया: https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source

स्थापित करने के बाद मैंने यह देखने के लिए जाँच की कि क्या मेरे पास python3 है:

vim --version | grep "python"

जो लौटा:

+python3/dyn  

तथा

+python/dyn  

लेकिन जब मैं विम शुरू करता हूं और फॉलोइनफ कमांड में से एक टाइप करता हूं, तो मुझे एक 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'), जिसे काम करना चाहिए।
इंगो करकट

यदि आप उबंटू में हैं, तो पी-आरएचओ के पीपीए ( लॉन्चपैड.नेट /~pi-rho/+archive/ubuntu/ dev ) का उपयोग करें। इसमें डायनामिक पायथन / पायथन 3 सपोर्ट के साथ वीम बनाया गया है।
मुरु

इसने मेरे लिए भी काम किया!
एनरिको मारिया डे एंजेलिस

जवाबों:


4

यह अपेक्षित परिणाम है। कोई परीक्षण नहीं हैं has('python/dyn')और has('python3/dyn'), केवल has('python')और has('python3')


5
अभी भी मदद नहीं करता है अगर मैं ('python3') या है ('python'), मैं अभी भी एक 0 मिलता है
user1314272

मुद्दा यह है कि आप के साथ गतिशील अजगर के लिए नहीं परीक्षण कर सकते हैं has()तो ... का उपयोग नहीं करते has()
रोमेल

2
@romainl फिर यह एक डॉक्यूमेंटेड फीचर क्यों है जिसके has()तहत जांच की जा सकती है :help feature-list?
जामसेन

has('python')और के1 लिए रिटर्न । के लिए एक ही बात और / । इसके अलावा, और हमेशा वापस लौटें , चाहे वह सुविधा हो या नहीं। निष्कर्ष: या तो आप यह निर्धारित करने के लिए उपयोग नहीं कर सकते हैं कि आपके पास या न ही सातो कात्सुरा है और न ही मुझे पता है कि तर्क को ठीक से कैसे प्रारूपित किया जाए। +python +python/dynhas('python3')+python3+python3/dynhas('python/dyn')has('python3/dyn')0has()+python[3]/dyn
रोमन

1
हालांकि, यह विम के लिए उपयोगी होगा कि /dynचेक का समर्थन करें , खासकर जब has('python')से पाइथन लाइब्रेरी को लोड करता है, जिसका अर्थ है कि आप तब उपयोग नहीं कर सकते हैं python3, और इसके विपरीत।
जामसेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.