ग्रहण में pep8.py को कैसे एकीकृत करें?


90

थोड़ा पृष्ठभूमि:

  • पीईपी 8 है पायथन कोड के लिए स्टाइल गाइड । यह सम्मेलनों सभी अजगर प्रोग्रामर का पालन करना चाहिए शामिल हैं।
  • PEP8.py एक बहुत (उपयोगी) स्क्रिप्ट है जो PEP 8 के अनुसार किसी दिए गए अजगर स्क्रिप्ट के कोड बनाने की जाँच करता है।
  • ग्रहण एक महान आईडीई है। साथ Pydev विस्तार, यह उस अजगर को विकसित करने के लिए इस्तेमाल किया जा सकता है

जब मैं स्क्रिप्ट कर रहा होता हूं, तो मैं मैन्युअल रूप से pep8.py चलाता हूं, लेकिन बड़ी परियोजनाओं के साथ मैं ग्रहण का उपयोग करना पसंद करता हूं। यह Eepse / Pydev में pep8.py को एकीकृत करने के लिए वास्तव में उपयोगी होगा, इसलिए इसे प्रोजेक्ट की सभी फाइलों में स्वचालित रूप से चलाया जा सकता है, और चेतावनियों वाली लाइनों को इंगित करता है। शायद यह करने का एक स्पष्ट तरीका है, लेकिन मैंने इसे अभी तक नहीं पाया है।

प्रश्न है: ग्रहण में pep8.py को कैसे एकीकृत करें?


3
अब एक डिफ़ॉल्ट pep8 एकीकरण है। देखें: stackoverflow.com/questions/399956/…
Fabio Zadrozny

1
यह देखते हुए कि जब से आप दिमित्री कोकिन के उत्तर को स्वीकार करते हैं, तो स्थिति बदल गई है , तो क्या मैं सुझाव दे सकता हूं कि आप अपने स्वीकार किए गए उत्तर को या तो फैबियो ज़द्रोज़नी के उत्तर या एंजेलो.बिक्सली के उत्तर में बदल सकते हैं? यह भविष्य के आगंतुकों की मदद करेगा, जो खुद की तरह, Google से इस सवाल पर आए थे, जिससे हमें सबसे पहले अद्यतित जानकारी प्राप्त करने की अनुमति मिली - अन्यथा इन उत्तरों के शीर्ष पर धकेलने में लंबा समय लग सकता है।
मार्क बूथ

जवाबों:


88

PyDev 2.3.0 के pep8रूप में, डिफ़ॉल्ट रूप से PyDev में एकीकृत है, यहां तक ​​कि इसके डिफ़ॉल्ट संस्करण के साथ शिपिंग भी।

खुली खिड़की> प्राथमिकताएँ

इसे PyDev> Editor> Code Analysis> pep8.py में सक्षम किया जाना चाहिए

त्रुटियों / चेतावनियों को मार्कर (नियमित कोड विश्लेषण में अन्य चीजों के रूप में) के रूप में दिखाया जाना चाहिए।

घटना में एक फ़ाइल का विश्लेषण नहीं किया जाता है, https://stackoverflow.com/a/31001619/832230 देखें


6
यह डिफ़ॉल्ट रूप से कई चेतावनी दिखाता है। हालाँकि, जब मैं इसे कमांड लाइन से चलाता हूं, तो यह और भी अधिक दिखाता है। मैं ग्रहण में सभी चेतावनियों को दिखाने के लिए इसे कैसे मना सकता हूं क्योंकि यह कमांड लाइन से चलने पर दिखाई दे रहा है? विकल्प समान हैं। इसके अलावा, कंसोल को pep8 आउटपुट पुनर्निर्देशित करने से कुछ नहीं होता है।
क्रिस्टियन साइबुलस्की

2
PyDev वर्तमान में एक पुराने संस्करण का उपयोग कर रहा है क्योंकि यह अपने आंतरिक Jython संस्करण (जो वर्तमान में 2.2.1 पर है) का उपयोग करता है। परिणाम प्राप्त करने के लिए इसे या तो बाहरी रूप से चलाने की योजना है या आंतरिक Jython को अपडेट करने के लिए pep8.py के नए संस्करणों का समर्थन करने में सक्षम होने के लिए।
Fabio Zadrozny

जाहिर है, यह PyDev 4.2.0 के साथ काम नहीं कर रहा है, कोई भी मार्कर कभी भी प्रदर्शित नहीं होते हैं, या तो चेतावनी या त्रुटि मोड में।
लुइस डी सूसा

1
बस इसे यहाँ परीक्षण किया है और यह मेरे लिए काम करता है ... ध्यान दें कि आपके स्रोत एक स्रोत फ़ोल्डर के तहत होने चाहिए (यानी: PYTHONPATH में) काम करने के लिए (यदि यह अभी भी नहीं है, तो कृपया इस समस्या की रिपोर्ट करें pydev tracker )।
फेबियो ज़द्रोज़नी

इसे एरर मोड पर सेट करने के बाद मैंने काम करना शुरू कर दिया। जब तक यह कोड को चिह्नित करना शुरू नहीं करता है, तब तक आप इसे सक्रिय करने में देरी करते हैं।
लुइस डी सूसा

26

मैं नहीं जानता कि इसे पूरी परियोजना के लिए कैसे एकीकृत किया जाए, लेकिन मैंने इसे एक व्यक्तिगत फ़ाइल का विश्लेषण करने के लिए एक बाहरी उपकरण के रूप में उपयोग किया है।

ध्यान दें कि pycodestyleपैकेज आधिकारिक प्रतिस्थापन है और pep8पैकेज का नया संस्करण है । इसे स्थापित करने के लिए, चलाएं:

$ sudo pip install --upgrade pycodestyle

अगले, ग्रहण में:

  1. चुनें रन-बाहरी उपकरण-बाहरी उपकरण विन्यास ...
  2. प्रोग्राम रूट नोड चुनें ।
  3. प्रेस नए लांच विन्यास बटन।
  4. अपने लॉन्च कॉन्फ़िगरेशन के लिए नाम दर्ज करें। मैं उपयोग करता हूं pycodestyle
  5. निम्नलिखित फ़ील्ड भरें:

    स्थान -${system_path:pycodestyle}

    कार्य निर्देशिका -${container_loc}

    तर्क - "${resource_name}"(यह वर्तमान में सक्रिय फ़ाइल का उपयोग करता है।)

सामान्य टैब पर जाएं और पुष्टि करें कि आवंटन कंसोल चेकबॉक्स चेक किया गया है।

इस दृष्टिकोण का एक लाभ यह है कि आप पैकेज के बहुत अद्यतित संस्करण का उपयोग कर सकते हैं, और PyDev के साथ शामिल पुराने संस्करण तक सीमित नहीं हैं। और यदि आप pylintएक समान तरीके से स्थापित करने के बारे में उत्सुक हैं , तो यह उत्तर देखें ।


1
यदि आपको त्रुटि हो रही है तो परिवर्तनीय संदर्भ रिक्त चयन: $ {container_loc} अपने स्रोत फ़ोल्डर को PYTHONPATH में जोड़ना न भूलें (यदि आप कार्यक्षेत्र में मौजूदा परियोजना को आयात करते हैं तो यह नहीं हो सकता है)। प्रोजेक्ट नाम> गुण> PyDev - PYTHONPATH> स्रोत फ़ोल्डर टैब पर राइट-क्लिक करें और स्रोत फ़ोल्डर जोड़ें पर क्लिक करें । एक आकर्षण की तरह काम करना चाहिए।
बरनी

2
अब एक डिफ़ॉल्ट pep8 एकीकरण है। देखें: stackoverflow.com/a/8532188/110451
Fabio Zadrozny

1
यह pep8 CHECKING के लिए उतना उपयोगी नहीं है, क्योंकि यह ज्यादातर Eclispe में उपलब्ध है - लेकिन मुझे यह autopep8 के लिए बहुत अच्छा लगा! धन्यवाद
टॉम स्ट्रैटन

12
  1. अपना ग्रहण खोलें
  2. मदद पर जाएं और इंस्टॉल करें नए सॉफ्टवेयर का चयन करें
  3. ऐड बटन पर क्लिक करें और "रिपोजिटरी जोड़ें" डायलॉग बॉक्स दिखाई देगा
  4. आप इसके लिए किसी भी नाम का उपयोग कर सकते हैं। (मैंने प्यदेव का इस्तेमाल किया)
  5. स्थान के लिए, "http://pydev.org/updates" दर्ज करें
  6. ओके पर क्लिक करें।
  7. अब आप स्थापना की प्रक्रिया में हैं। बस इसके खत्म होने का इंतजार करें।
  8. स्थापना के बाद, ग्रहण को बंद करें और इसे फिर से खोलें।
  9. अब जब कि आपके ग्रहण में PyDev स्थापित हो गया है, तो Window-> Preferences पर जाएँ
  10. PyDev-> Editor-> कोड विश्लेषण चुनें
  11. Pep8.py टैब पर जाएं
  12. चेतावनी के लिए रेडियो बटन चुनें और ओके पर क्लिक करें।

बस। आपका ग्रहण आईडीई अब PEP8 के साथ एकीकृत है। Pep8.py स्वतः चलाने के लिए, अपने प्रोजेक्ट संपादक पर राइट क्लिक करें। PyDev चुनें और "कोड विश्लेषण" पर क्लिक करें। आपके कार्यक्षेत्र में आपकी समस्याओं के टैब में, आपको चेतावनियाँ दिखाई देंगी जो उस रेखा की ओर इशारा करती हैं जिसे आपने PEP8 में उल्लंघन किया है (यदि आपने उल्लंघन किया है)।


कुछ बहुत ही अजीब बात यह है कि pep8 को कॉन्फ़िगर करने के लिए मैंने चाहे कितनी भी कोशिश की हो, लेकिन संपादक में चेतावनी और सूचना मार्कर दिखाई नहीं दिए। यही कारण है कि जब तक की मैं "समस्याएं" देखने के लिए, तो यह अचानक एक आकर्षण की तरह काम किया ... जोड़ा
agey

10

कोड विश्लेषण:

यदि आप कोड विश्लेषण करना चाहते हैं, तो ग्रहण ( PyDev ) में p88 शैली का उपयोग करके

जाओ करने के लिए: विंडोज -> वरीयताएँ -> PyDev -> संपादक -> कोड विश्लेषण -> pep8.py टैब का चयन करें और चेतावनी क्लिक करें लागू करें और ठीक बटन।

अपने अजगर कोड में अगर आप pep8 कोडिंग शैली को मान्य करते हैं तो यह आपको चेतावनी देगा

ऑटो कोड फार्मिंग:

यदि आप ऑटो प्रारूप करना चाहते हैं, तो ग्रहण ( PyDev ) में pep8 स्टाइल का उपयोग करके पायथन कोड

पर जाएं: Windows -> प्राथमिकताएं -> PyDev -> संपादक -> कोड शैली -> कोड प्रारूप -> बॉक्स पर क्लिक करें ( कंसोल स्वरूपण के लिए autopep8.py का उपयोग करें? ) लागू करें और ठीक बटन पर क्लिक करें।

यदि आप लाइन की लंबाई बढ़ाना चाहते हैं (pep8 डिफ़ॉल्ट 79 है) तो नीचे दिए गए ऑटोपेप8.py का उपयोग करें आप पैरामीटर प्रकार सेट कर सकते हैं --max-line-length=150 यदि आप अधिकतम लंबाई 150 पर सेट करते हैं तो आप

यदि ऑटो-प्रारूप शॉर्टकट ( Ctrl + Shift + f ) दबाएं तो यह स्वचालित रूप से आपके python कोड को pep8 शैली की तरह प्रारूपित कर देगा


6

यह अभी तक पूरी तरह से पियदेव में एकीकृत नहीं हुआ है।

जैसा कि इस पोस्ट में सुझाया गया है ,

[यह] pydev के भीतर कोड को बदलने की आवश्यकता होगी - उपयोगकर्ता को हाइपरलिंक बनाने के लिए कौन से पैटर्न का मिलान करना है (और यह कहते हुए कि कौन सा समूह लाइन है और कौन सा है फ़ाइल) ...

या, आप इसके साथ हार्ड-कोडित खेल का प्रयास कर सकते हैं: org.python.pydev.debug.ui.PythonConsoleLineTracker (समझ में आसान होना चाहिए)।

एक अनुरोध बस के लिए मौजूद है, लेकिन यह अभी भी इसके निर्माण के 1 साल बाद खुला लगता है ...


-1

आप :) नहीं, इसके बजाय आप PyLint के साथ बहुत अच्छे एकीकरण का लाभ उठाते हैं और PEP8 की सभी चीज़ों की जाँच करने के लिए PyLint को कॉन्फ़िगर करते हैं। PEP8 की सभी चीज़ों की जाँच करने के लिए PyLint को कॉन्फ़िगर कैसे करें देखें ?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.