2013-10-23 13 views
7

में पाइथन संस्करण को लागू करना वर्तमान में, हम install_requires विशेषता के तहत setup.py में उनके संस्करण और निर्भरताओं का उल्लेख करके सिस्टम पर कुछ संकुल स्थापित कर रहे हैं। हमारे सिस्टम को अजगर 2.7 की आवश्यकता है। कभी-कभी, उपयोगकर्ताओं के पास Python के कई संस्करण 2.6.x और 2.7 कहते हैं, कुछ संकुल जो पहले कहते हैं वे पहले से ही उपलब्ध हैं लेकिन वास्तव में 2.6 साइट पैकेज सूची के तहत उपलब्ध सिस्टम पर उपलब्ध हैं। इसके अलावा कुछ उपयोगकर्ताओं के पास केवल 2.6 है, setup.py से कैसे कार्यान्वित किया जा सकता है या क्या केवल अन्यथा है कि केवल python 2.7 है और सभी संकुल जिन्हें हम setup.py अद्यतन करना चाहते हैं केवल 2.7 के लिए हैं। हमारे कोड को चलाने के लिए हमें मशीन पर न्यूनतम 2.7 की आवश्यकता होती है।setup.py

धन्यवाद! संतोष

उत्तर

8

के माध्यम से pip (और pip ही अजगर दुभाषिया द्वारा चलाया जाता है) setup.py फ़ाइल स्थापित किया गया है के रूप में यह जो अजगर संस्करण setup.py फ़ाइल में उपयोग करने के लिए निर्दिष्ट करने के लिए संभव नहीं है।

इसके बजाय this answer पर setup.py: restrict the allowable version of the python interpreter पर एक नज़र डालें, जिसमें इंस्टॉल को रोकने के लिए मूलभूत कार्यवाही है।

आपके मामले में कोड होगा:

import sys 
if sys.version_info < (2,7): 
    sys.exit('Sorry, Python < 2.7 is not supported') 
+0

version_info ने 2.7+ तक नामित घटकों को पेश नहीं किया है, यह केवल एक टुपल है। एक संपादन सबमिट किया गया। – 2upmedia

+3

आप sy.sversion_info <(2,7) 'क्यों नहीं कर सकते हैं? पायथन व्याख्यान क्रम में tuples की तुलना करता है, तो यह कहने के लिए ठीक काम करेगा, '(3,4,1) '। –

2

(मार्च 2018 में इस लेखन के रूप में) वर्तमान सबसे अच्छा अभ्यास है setup.py में setup() कॉल करने के लिए सीधे एक python_requires तर्क जोड़ने के लिए:

from setuptools import setup 

[...] 

setup(name="my_package_name", 
     python_requires='>3.5.2', 
     [...]