на моєму комп’ютері
~$ python -V
Python 3.2.1
але я потрапляю в проблеми, коли запускаю деякі програми python. я здогадуюсь (або, принаймні, я хочу це спробувати), що є деякі проблеми із сумісністю назад, і я хочу запустити ці сценарії python із
python2 2.7.2-2
який також встановлений у моїй системі, але я не знаю, як зробити це як (тимчасовий) пітон за замовчуванням. Сценарій python починається з
#!/usr/bin/env python
і я використовую аркуш Linux.
Відповіді:
62 за відповідь № 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
Насолоджуйтесь!
9 для відповіді № 2
Просто зателефонуйте до сценарію, використовуючи щось на зразок python2.7 або python2, а не python.
Тому:
python2 myscript.py
замість:
python myscript.py
Те, що ви можете зробити, це замінитисимволічне посилання "python" в / usr / bin, яке в даний час посилається на python3 зі посиланням на потрібний виконуваний файл python2 / 2.x. Тоді ви могли просто назвати це так, як би це було з python 3.
9 для відповіді № 3
Ви не хочете "тимчасовий Python за замовчуванням"
Ви хочете, щоб 2.7 сценарії почалися з
/usr/bin/env python2.7
І ви хочете, щоб 3.2 сценарії почали з
/usr/bin/env python3.2
Тут справді немає користі для Python "за замовчуванням". Ідея "тимчасового дефолту" - це лише шлях до абсолютної плутанини.
Пам'ятайте.
Явне краще, ніж неявне.
8 для відповіді № 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.
>>>
8 за відповідь № 5
mkdir ~/bin
PATH=~/bin:$PATH
ln -s /usr/bin/python2 ~/bin/python
Щоб припинити використання python2, exit
або rm ~/bin/python
.
5 для відповіді № 6
Якщо у вас є проблеми з virtualenv,
Ви можете використовувати це:
sudo ln -sf python2 /usr/bin/python
і
sudo ln -sf python3 /usr/bin/python
2 для відповіді № 7
Використовуйте команду python для запуску скриптів, а не оболонки безпосередньо. Наприклад
python2 /usr/bin/command
AFAIK - це рекомендований метод для вирішення сценаріїв з поганим рядком інтерпретації ENV.