2016-02-21 9 views
5

के रूप में संकेत टाइप करें, मेरे पास एनाकोंडा के साथ sublimetext3 में दो पायथन परियोजनाएं हैं। कुछ रहस्यमय कारणों में से केवल उनमें से एक में एनाकोंडा रिपोर्टिंग संकेत (पीईपी 0484) को "अमान्य वाक्यविन्यास" त्रुटियों के रूप में रिपोर्ट करता है (दोनों के लिए: पैरामीटर और फ़ंक्शन प्रकार)। क्या कारण हो सकता है?एनाकोंडा + सब्लिमेटेक्स्ट, रिपोर्ट्स

उत्तर

6

PEP-484 प्रकार संकेत (PEP-3107 समारोह टिप्पणियां और mypy स्थिर प्रकार चेकर से प्रभावित) की एनाकोंडा के आवेदन केवल पायथन 3. मैं परियोजना है कि त्रुटियों फेंक रहा है ग्रहण करेंगे पर लागू होता है अजगर द्वारा linted की जा रही है 2.

+0

सही! मुझे नहीं पता कि यह कैसे खुश होता है, लेकिन यह था। – ardabro

+0

यह वास्तव में सही नहीं है; पीईपी -484 प्रकार संकेत पाइथन 2 के रूप में भी उपयोग योग्य है। दो तरीकों से https://www.python.org/dev/peps/pep-0484/#type-comments और https://www.python.org/dev/peps/pep-0484/#stub-files देखें इसे काम करने के लिए। असल में, मैं पाइथन 3 के लिए एक बड़ी पाइथन 2 लाइब्रेरी को पोर्ट करने के लिए अभी संकेत संकेतों का उपयोग कर रहा हूं। यदि सब्लिमे टेक्स्ट नहीं जानता है, जो संभव है, तो पीईपी -484 के लिए इसका समर्थन अपूर्ण है, लेकिन यह नहीं है पीईपी -484 की समस्या। – mcepl

+1

@mcepl यह उत्तर एनाकोंडा प्लगइन के संदर्भ में पूरी तरह से सही है ओपी सब्लिम में उपयोग कर रहा था। टिप्पणियों या स्टब फ़ाइलों का उपयोग करके बैक-पोर्ट प्रकार संकेत/पीई 2 पर जांच करना संभव हो सकता है, लेकिन मूल पीईपी -3107 फ़ंक्शन एनोटेशन विवरण और पीईपी -484 में वर्णित विस्तार पर पाइथन 3-विशिष्ट हैं। मैंने इसे प्रतिबिंबित करने के लिए उत्तर अद्यतन किया है। – MattDMo

8

करने के लिए

: @MattDMo के जवाब पर विस्तार, आप दबाने सीएमडी/Ctrl + शिफ्ट + पी, तो चयन करके python3 दुभाषिया का उपयोग करने के एनाकोंडा पैकेज मजबूर कर सकते हैं /path/to/.virtualenvs/nameofvenv/bin/python3

:

अपने virtualenv रास्ते में डाल करने के लिए अपने कोड virtualenv में संकुल का उपयोग करता है, तो सुनिश्चित करें:

Anaconda: Set Python Interpreter

फिर अपने python3 दुभाषिया, जो आप which python3 का उपयोग कर प्राप्त कर सकते हैं करने के लिए पथ में पेस्ट

आप एक virtualenv में नहीं हैं, तो का उपयोग आपके सिस्टम के python3:

/usr/bin/python3 या /usr/local/bin/python3 homebrew मैक पर की python3 के लिए।

उचित रूप से इसे python3 पर सेट करना Invalid Syntax प्रकार एनोटेशन पर त्रुटि को ठीक करना चाहिए।

आप भी अपने प्रोजेक्ट फाइल सीधे संपादित कर सकते दुभाषिया पथ सेट करने के लिए:

{ 
    "build_systems": 
    [ 
     { 
      "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 
      "name": "Anaconda Python Builder", 
      "selector": "source.python", 
      "shell_cmd": "\"/path/to/.virtualenvs/venvname/bin/python3\" -u \"$file\"" 
     } 
    ], 
    "settings": 
    { 
     "python_interpreter": "/path/to/.virtualenvs/venvname/bin/python3" 
    } 
} 
1

@Nick Sweeting के जवाब पर विस्तार करने के लिए, यह उस प्रकार इशारा याद करने लायक है संस्करण 3.5 में अजगर को पेश किया गया था, इसलिए यदि एनाकोंडा पाइथन 3 के किसी भी पिछले संस्करण के साथ एक दुभाषिया का उपयोग कर रहा है, तो यह टाइप संकेतों को अमान्य वाक्यविन्यास के रूप में रिपोर्ट करेगा। इसे हल करने के लिए केवल 3.5 संस्करण (या उच्चतर) पर पायथन दुभाषिया सेट करें।

संबंधित मुद्दे