اختبار البرنامج النصي Python في إصدار محدد
سؤال
لدي حاليا 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
هناك أيضًا طريقة لإنشاء بيئة افتراضية مع حزم الموقع المتاحة بالفعل.