اختبار البرنامج النصي Python في إصدار محدد

StackOverflow https://stackoverflow.com/questions/4301681

  •  29-09-2019
  •  | 
  •  

سؤال

لدي حاليا Python 2.6.2 مثبت على جهاز Mac الخاص بي. أنا أكتب نصًا يجب تشغيله على Python 2.5.2. لذلك أريد أن أكتب نصًا بيثون ، واختبار الاختبار هو على وجه التحديد مقابل 2.5.2 وليس 2.6.2.

كنت أنظر إلى VirtualEnv ، لكن لا يبدو أنه يحل مشكلتي. ركضت python virtualenv.py TEST مما جعل اختبار dir ، ولكن كان Python 2.6 فيه. هل هناك طريقة لجعل VirtualEnv تستخدم إصدارًا مختلفًا من Python عن ما هو افتراضي مثبت على الجهاز الخاص بي؟ هي طريقة أخرى لاستخدام #! كخط الأول من نص Python؟ كيف لي أن افعل ذلك؟

هل كانت مفيدة؟

المحلول

يمكنك فقط تثبيت بيثون 2.5.2.

لدي 3 إصدارات مختلفة مثبتة بيثون على بلدي الوسيط ويستخدمون روابط مختلفة تحت /bin/ لذلك من السهل استدعاء الإصدار المحدد

Python -> Python3 -> Python3.1
Python2 -> Python2.7
بيثون 2.5

نصائح أخرى

الدفع توكس; ؛ إنه مصمم للقيام بذلك بالضبط.

يمكنك إعداد بيئة رمل مع إصدارات Python مختلفة باستخدام VirtualEnV. كما فعل Kable ، قم بتثبيت 2.5. الإصدار الذي تريد اختباره ضد. ثم قم بإنشاء بيئتك الافتراضية:

virtualenv --p=python2.5 myapp

للحصول على بيئة نظيفة ، يمكنك استخدام مفتاح حزم المواقع مع الأمر أعلاه. مفيد جدا عند محاولة محاكاة إعداد جديد وجديد. الآن قم بتنشيط VirtualEnv:

source myapp/bin/activate

إذا قمت بالتحقق من إصدار Python ، فيجب عليك الآن الحصول على الإصدار 2.5.x:

python -V

يمكنك الآن تثبيت الوحدات النمطية كما تريد في بيئتك الافتراضية بالطريقة المعتادة:

easy_install ... 
pip ...

للخروج من بيئتك الافتراضية:

deactivate

أتمنى أن يكون هذا مفيدًا.

محاولة #!/path/to/your/python/version

ولكن تأكد من تنفيذ البرنامج النصي من المحطة ، وجعله قابل للتنفيذ قبل اليد: chmod 755 myscript.py

استخدام 'Virtualenv' يمكن أن يكون لديك بيئات بيثون معزولة مختلفة على جهاز واحد. كما يمكنك التبديل في أي وقت بين إصدارات مترجم بيثون المختلفة.

ما هو VirtualEnv؟

البيئة الافتراضية هي نسخة عمل معزولة من Python والتي تتيح لك العمل في مشروع معين دون قلق من التأثير على المشاريع الأخرى. إنه يتيح منشآت متعددة جنبًا إلى جنب من Python ، واحدة لكل مشروع. لا يقوم بالفعل بتثبيت نسخ منفصلة من Python ، ولكنها توفر طريقة ذكية للحفاظ على بيئات المشروع المختلفة معزولة.

كيفية تثبيت؟

pip install virtualenv

لإنشاء بيئة افتراضية لبيثون 2.7:

root:~# which python2.7

/usr/bin/python2.7

root:~# which python3.4

/usr/local/bin/python3.4

يمكنك أيضًا استخدام مترجم بيثون الذي تختاره:

root:~# virtualenv -p /usr/bin/python2.7 Vpy27

Running virtualenv with interpreter /usr/bin/python2.7

New python executable in /root/Vpy27/bin/python2.7

Also creating executable in /root/Vpy27/bin/python

Installing setuptools, pip, wheel...done.

للبدء في استخدام البيئة الافتراضية ، يجب تنشيطه:

root:~# source Vpy27/bin/activate

سيظهر اسم البيئة الافتراضية الحالية الآن على يسار المطالبة:

(Vpy27) root:~# python -V
Python 2.7.3

تثبيت الحزم كالمعتاد ، على سبيل المثال:

(Vpy27) root:~# pip install junos-eznc    >> All pip installs done here, will be available only in this environment.

إذا كنت قد انتهيت من العمل في البيئة الافتراضية في الوقت الحالي ، فيمكنك إلغاء تنشيطه:

(Vpy27) root:~# deactivate   

لإنشاء بيئة افتراضية لبيثون 3.4:

root:~# which python3.4

/usr/local/bin/python3.4

root:~# virtualenv -p /usr/local/bin/python3.4 Vpy34

root:~# source Vpy34/bin/activate

(Vpy34) root:~# python -V
Python 3.4.4

هناك أيضًا طريقة لإنشاء بيئة افتراضية مع حزم الموقع المتاحة بالفعل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top