Подтвердить что ты не робот

Python 2 вместо python 3 как (временный) python по умолчанию?

на моем компьютере

~$ python -V
 Python 3.2.1

но я сталкиваюсь с проблемами при запуске некоторых программ python. моя догадка (или, по крайней мере, я хочу попробовать), что есть некоторые проблемы с обратной совместимостью, и я хочу запустить эти сценарии python с помощью

 python2 2.7.2-2

который также установлен в моей системе, но я не знаю, как сделать его как (временный) python по умолчанию. Питон script начинается с

 #!/usr/bin/env python

и я использую arch linux.

4b9b3361

Ответ 1

Вы можете использовать virtualenv

# Use this to create your temporary python "install"
# (Assuming that is the correct path to the python interpreter you want to use.)
virtualenv -p /usr/bin/python2.7 --distribute temp-python

# Type this command when you want to use your temporary python.
# While you are using your temporary python you will also have access to a temporary pip,
# which will keep all packages installed with it separate from your main python install.
# A shorter version of this command would be ". temp-python/bin/activate"
source temp-python/bin/activate

# When you no longer wish to use you temporary python type
deactivate

Наслаждайтесь!

Ответ 2

Просто вызовите script, используя что-то вроде python2.7 или python2 вместо простого python.

Итак:

python2 myscript.py

вместо:

python myscript.py

Вместо этого вы можете заменить символическую ссылку "python" в /usr/bin, которая в настоящее время ссылается на python3 со ссылкой на требуемый исполняемый файл python2/2.x. Тогда вы можете просто называть его так же, как и с python 3.

Ответ 3

Вам не нужен "временный Python по умолчанию"

Вы хотите, чтобы скрипты 2.7 начинались с

/usr/bin/env python2.7

И вы хотите, чтобы скрипты 3.2 начинались с

/usr/bin/env python3.2

Для "стандартного" Python действительно не нужно использовать. И идея "временного дефолта" - это просто путь к абсолютной путанице.

Помните.

Явный лучше, чем Implicit.

Ответ 4

Вы можете использовать alias python="/usr/bin/python2.7":

bash-3.2$ alias
bash-3.2$ python
Python 2.7.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> ^D
bash-3.2$ alias python="/usr/bin/python3.3"
bash-3.2$ python
Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 16 2013, 23:39:35) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Ответ 5

mkdir ~/bin
PATH=~/bin:$PATH
ln -s /usr/bin/python2 ~/bin/python

Чтобы прекратить использование python2, exit или rm ~/bin/python.

Ответ 6

Используйте команду python для запуска скриптов, а не для оболочки напрямую. Например.

  python2 /usr/bin/command

AFAIK это рекомендуемый метод для обходных сценариев с плохой интерпретатор env.

Ответ 7

Если у вас есть проблемы с virtualenv,

Вы можете использовать его:

sudo ln -sf python2 /usr/bin/python

и

sudo ln -sf python3 /usr/bin/python