我的问题是当我尝试从命令行运行python脚本时,如下所示;
python_projects # python variable.py
它使用Python版本3,我希望将其更改为2.7
你试过shebang line吗?
例如:#!/path/to/2.7/python
没有什么可以阻止你调用2.7解释器:
./path/to/2.7/python python_projects
您可以创建一个bash别名:
alias py27=/path/to/2.7/python
等瞧
py27 python_projects
读者文摘:很多解决方案
如果你同时使用Python 2.7和Python 3。以默认方式安装的内容,以下内容应该为真:
-
python3
总是运行你最好的3。x版本 - :
-
python
运行最好2。x版本,或 -
python
运行与python3
相同的东西,但python2
运行您最好的2。x版本
-
所以,如果存在,可以使用python2
,如果不存在,可以使用python
。
-
python2.7
总是运行你最好的2.7。x版本。
你可以直接用这个
如果python2.7
, python2
,甚至python
不在你的PATH上,或者你做了一些奇怪的安装,打破了预期的规则(或者你的发行版为你做了),你总是可以用全路径指定Python。不要使用/usr/bin/env python
或/usr/local/bin/python
或者其他你正在使用的格式,使用/opt/local/python2.7/bin/python
,或者其他你已经安装的格式。
假设您使用的是linux系统,您可以在.zshrc/.bashrc文件中添加类似的内容,以便在不同的python版本之间切换。
py25() {
rm -rf ~/.ipython
alias ipython="/usr/local/bin/ipython-2.5"
alias pip="/usr/local/bin/pip-2.5"
alias python="/usr/local/bin/python-2.5"
}
py27() {
rm -rf ~/.ipython
alias ipython="/usr/local/bin/ipython-2.7"
alias pip="/usr/local/bin/pip-2.7"
alias python="/usr/local/bin/python-2.7"
}
py33() {
rm -rf ~/.ipython
alias ipython="/usr/local/bin/ipython-3.3"
alias pip="/usr/local/bin/pip-3.3"
alias python="/usr/local/bin/python-3.3"
}
,那么你可以在cmd行调用它们作为py25
或py27
或py33
。这也可以同时处理pip和python。