Создание версии Python 2.7.3 по умолчанию для CentOS 6

0

Я хочу выполнить Python из PHP и у меня есть скрипт, который отлично работает для интерпретатора Python по умолчанию. У меня есть Centos с Python 2.6.6 по умолчанию, который установлен в / usr / bin / python и Python 2.7.3, который установлен в /usr/local/bin/python2.7. Вы можете увидеть версию Python по умолчанию:

[root@me ~]# python -V
Python 2.6.6

[root@me ~]# python2.7 -V
Python 2.7.3

Как сделать Python 2.7.3 по умолчанию Python на моей ОС. Поэтому, когда я запускаю Python -V, я должен получить 2.7.3?

Я знаю, что это плохо. Альтернативой является удаление Python 2.7.3, и я не знаю, как это сделать.

Брана
источник

Ответы:

1

На мой взгляд, у вас есть три варианта.

  • /usr/bin/pythonна самом деле символическая ссылка на версию Python, которая должна быть по умолчанию. Вы можете просто повторно связать это с python2.7, и у вас все получится. Если вам не нужен Python 2.6.6, тогда держите его там. Вы можете удалить это.

  • Ваш второй вариант alias python=/usr/bin/python2.7в вашем файле bashrc. Это будет по умолчанию Python2.7 всегда.

  • Ваш третий и последний вариант, который предпочтительнее всех предыдущих, - это использовать virtualenv.

Virtualenvсоздаст для вас контейнер виртуальной среды в вашем текущем каталоге. Вы можете вносить свои изменения в эту среду, не затрагивая вашу систему, как это могут использовать другие общесистемные приложения python2.6. Это лучший и самый безопасный вариант с наименьшими затратами усилий.

Будьте осторожны : первые два варианта являются жизнеспособными, но они не являются хорошими, поскольку требуют предположения, что вашей системе не нужен python2.6 .

ОБНОВЛЕНИЕ Если вы хотите легко исправить, в начале вашего скрипта Python вы можете добавить следующий шебанг

#!/usr/bin/env python2.7

Это даст вам возможность запустить этот конкретный скрипт в 2.7. Мои предыдущие предложения были на общесистемной основе. Но если вам нужно только один сценарий, этого должно быть достаточно. После этого сделайте скрипт исполняемым и просто запустите его, как любой другой исполняемый файл, используя./test.py

Чтобы запустить скрипт из php, вам нужно будет следовать этому посту, в котором приведен фрагмент кода, чтобы можно было это сделать.

Digisec
источник
Привет, будет работать псевдоним для команды exec, такой как exec ("/ usr / bin / python /test.py", $ output). Я имею в виду, тогда будет выполняться Python 2.6.6. или 2.7.3?
Брана
@Brana Я обновил свой ответ для вас.
Digisec
Привет, я пробовал это, но независимо от того, что я использую как #! / Usr / bin / env python2.7, это то же самое. Я думаю, что имеет значение только то, что я использую в exec ("/ usr / bin / python /test.py", $ output).
Брана
Может ли версия Virtualenv использоваться с exec?
Брана
Я до сих пор не понимаю, почему вы хотите использовать exec, когда вы можете просто вызвать скрипт!
Digisec