在命令行中使用Python2.7(Linux)
我的问题是,当我尝试从命令行运行一个Python脚本时,命令是这样的:
python_projects # python variable.py
这个脚本使用的是Python 3版本,我想把它改成2.7版本。
3 个回答
1
假设你在使用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"
}
然后你只需要在命令行里输入py25
、py27
或者py33
就可以了。这也会同时处理pip和iPython的版本。
1
如果你同时安装了Python 2.7和Python 3.x版本,通常会有以下情况:
python3
总是会运行你安装的最新的3.x版本python
会运行你安装的最新的2.x版本,或者python
运行的和python3
是一样的,但python2
会运行你安装的最新的2.x版本
所以,如果python2
存在的话,你总是可以使用它,如果没有的话,就用python
。
另外:
python2.7
总是会运行你安装的最新的2.7.x版本。
所以,你可以直接使用这个。
如果python2.7
、python2
,甚至python
都不在你的系统路径中,或者你做了一些奇怪的安装,导致这些规则不适用(或者你的系统发行版为你做了这些),你总是可以通过完整路径来指定Python。比如,不用/usr/bin/env python
或/usr/local/bin/python
,而是用/opt/local/python2.7/bin/python
,或者你安装的其他路径。
3
你试过使用 shebang 行吗?
比如说:
#!/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
总结一下:有很多解决方案。