Тестирование сценария Python в определенной версии

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

  •  29-09-2019
  •  | 
  •  

Вопрос

В настоящее время у меня есть Python 2.6.2, установленный на моем Mac. Я пишу скрипт, который должен работать на Python 2.5.2. Поэтому я хочу написать сценарий Python, и тест специально против 2.5.2, а не 2.6.2.

Я смотрел на виртуальский, но, похоже, не решает мою проблему. Я побежал python virtualenv.py TEST которые сделали тест DIR, но в нем был Python 2.6. Есть ли способ сделать Virtualenv использовать другую версию Python, чем то, что установлено по умолчанию на моей машине? Другой способ использовать #! Как первая строка сценария Python? Как бы я это сделал?

Это было полезно?

Решение

Вы можете просто установить Python 2.5.2.

У меня есть 3 разных версиях Python, установленные на моем ясном языке, и они используют разные ссылки под /bin/ Так что легко назвать конкретную версию

Python -> Python3 -> Python3.1
Python2 -> Python2.7
Python2.5

Другие советы

Проверить токс; Он предназначен для того, чтобы сделать именно это.

Вы можете настроить среду песочницы с различными версиями Python с использованием VirtualenV. Поскольку Kable сделал, установите 2,5. Версия, к которой вы хотите проверить. Затем создайте свою виртуальную среду:

virtualenv --p=python2.5 myapp

Чтобы получить чистую среду, вы можете использовать переключатель пакетов NNO-сайта с командой выше. Довольно удобно при попытке имитировать новую свежую настроек. Теперь активируйте свой 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' Вы можете иметь разные изолированные среды Python на одной машине. Также вы можете переключаться в любое время между различными версиями интерпретатора Python.

Что такое виртуальский?

Виртуальная среда - это изолированная рабочая копия Python, которая позволяет работать над конкретным проектом без беспокойства о влиянии других проектов. Это позволяет нескольким боковым установкам Python, один для каждого проекта. На самом деле он на самом деле не устанавливает отдельные копии Python, но он обеспечивает умный способ сохранить разные среды проекта.

Как установить?

pip install virtualenv

Чтобы создать виртуальную среду для Python 2.7:

root:~# which python2.7

/usr/bin/python2.7

root:~# which python3.4

/usr/local/bin/python3.4

Вы также можете использовать переводчик Python по вашему выбору:

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   

Для создания виртуальной среды для Python 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