我的机器上安装了两个版本的Python(版本2.6和2.5)。我想在一个项目上运行2.6,在另一个项目上运行2.5。
我如何指定我想要使用哪个?
我正在使用Windows XP SP2。
我的机器上安装了两个版本的Python(版本2.6和2.5)。我想在一个项目上运行2.6,在另一个项目上运行2.5。
我如何指定我想要使用哪个?
我正在使用Windows XP SP2。
当前回答
这里有一个快速的方法:
进入要运行的python版本的目录 右键单击python.exe 选择“创建快捷方式” 给快捷方式起个名字(我用p27, p33等) 移动快捷方式到你的主目录(C:\Users\你的名字) 打开命令提示符,输入name_of_your_shortcut.lnk(我使用p27.lnk)
其他回答
为这个问题增加了两个解决方案:
使用pylauncher(如果你有Python 3.3或更新版本,不需要安装它,因为Python已经自带了),或者在你的脚本中添加shebang行;
# !c:\[Python 2.5的路径]\ Python .exe -用于您希望在Python 2.5中运行的脚本 # !c:\[Python 2.6的路径]\ Python .exe -用于您希望在Python 2.6中运行的脚本
或者不是运行python命令,而是运行pylauncher命令(py) specyfing你想要的python版本;
Py -2.6 -版本2.6 Py -2 -最新安装版本2.x Py -3.4 -版本3.4 Py -3 -最新安装版本3.x
安装virtualenv并创建两个virtualenv;
virtualenv -p c:\[Python 2.5的路径]\ Python .exe[使用Python 2.5创建virtualenv的路径]\[virtualenv的名称]
virtualenv -p c:\[Python 2.6的路径]\ Python .exe[使用Python 2.6创建virtualenv的路径]\[virtualenv的名称]
例如
Virtualenv -p c:\python2.5\python.exe c:\venvs\2.5 .exe
Virtualenv -p c:\python2.6\python.exe c:\venvs\2.6 .exe
然后你可以激活第一个并像这样使用Python 2.5 c: \ venvs \ 2.5 \激活 当你想切换到Python 2.6时,你可以这样做
deactivate
c:\venvs\2.6\activate
我强烈推荐pyenv-win项目。
多亏了kirankotari的工作,现在我们有了一个Windows版本的pyenv。
从Python 3.3开始,Windows有官方的Python启动器(http://www.python.org/dev/peps/pep-0397/)。现在,您可以使用#!pythonX来确定在Windows上需要的解释器版本。在我的另一条评论中查看更多细节,或阅读PEP 397。
概要:py script.py会启动#!如果#!不见了。py -3 script.py启动Python 3。
这里有一个解决方案:
首先,在你的电脑上安装你想要运行的所有版本。https://www.python.org/ 其次,创建您想使用的python版本的虚拟环境。 "py [python_version] -m venv [vrtual_environment_name]"示例:"py -3.9 -m venv env"
注意:你不需要运行"pip install virtualenv"
假设我们安装了python 3.7和python 3.6。
它们默认分别存储在以下文件夹中。
C:\Users\name\AppData\Local\Programs\Python\Python36 C:\Users\name\AppData\Local\Programs\Python\Python37
如果我们想在上述任何特定环境中使用CMD提示符来安装/运行命令,请这样做:
在上面的每个文件夹中都应该有python.exe。
因此,当我们尝试运行任何文件的ex.(见image1) python hello.py。我们称之为相应的python.exe。默认情况下,它选择较低版本的文件。(在这种情况下,它将从python 3.6使用)
图像
如果我们想使用python3.7运行。只需更改.exe文件名。例如,如果我更改为python37.exe,并且我想使用python3.7来运行hello.py
我将使用python37 hello.py。或者如果我想在默认情况下使用python3.7,我会将python3.6文件夹中的python.exe文件名更改为其他文件。这样每次我只使用python hello.py时,它都会使用python3.7