在我的电脑上
~$ python -V
Python 3.2.1
但是当我运行一些python程序时遇到了问题。我猜是(至少我想试试这个)有一些向后兼容性问题,我想用
运行那些python脚本 python2 2.7.2-2
也安装在我的系统上,但我不知道如何将其作为(临时)默认python。 python脚本以
开头 #!/usr/bin/env python
我正在使用arch linux。
答案 0 :(得分:69)
您可以使用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
享受!
答案 1 :(得分:11)
只需使用python2.7或python2而不是python调用脚本。
所以:
python2 myscript.py
而不是:
python myscript.py
你可以做的是替换当前链接到python3的/ usr / bin中的符号链接“python”,其中包含指向所需python2 / 2.x可执行文件的链接。然后你可以像调用python 3一样调用它。
答案 2 :(得分:10)
mkdir ~/bin
PATH=~/bin:$PATH
ln -s /usr/bin/python2 ~/bin/python
停止使用python2,exit
或rm ~/bin/python
。
答案 3 :(得分:9)
您不需要“临时默认Python”
您希望2.7脚本以
开头/usr/bin/env python2.7
您希望3.2脚本以
开头/usr/bin/env python3.2
“默认”Python真的没用。而“临时违约”的想法只是走向绝对混乱的道路。
记住。
明确比隐含更好。
答案 4 :(得分:9)
您可以使用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 :(得分:5)
如果你在virtualenv上遇到一些问题,
你可以使用它:
sudo ln -sf python2 /usr/bin/python
和
sudo ln -sf python3 /usr/bin/python
答案 6 :(得分:3)
使用python命令启动脚本,而不是直接启动shell。 E.g。
python2 /usr/bin/command
AFAIK这是使用错误的env解释器行解决脚本的推荐方法。
答案 7 :(得分:1)
作为virtualenv的替代方法,您可以使用anaconda。
在Linux上,使用python 2.7创建环境:
conda create -n python2p7 python=2.7
source activate python2p7
要停用它,请执行以下操作:
source deactivate
可以在您的环境中安装其他软件包。