为了避免与其他版本冲突,我将python.exe
重命名为python37.exe
。它适用于运行python,但是如果我运行pip37.exe
(位于/ Scripts中),则会出现以下错误:
Fatal error in launcher: Unable to create process using '"c:\python37-32\python.exe" "C:\Python37-32\Scripts\pip37.exe"
是否有办法将python.exe
重命名为python37.exe
,但保持所有python工具正常工作?
答案 0 :(得分:4)
这听起来像个坏主意。
有些工具旨在帮助您准确地管理这类事情。最好的恕我直言是pyenv
:https://github.com/pyenv/pyenv
安装非常简单。这需要一点时间来适应–将头围绕虚拟环境–但是最终使一切变得如此容易。
例如在我的系统上,我具有以下python版本:
pyenv versions
system
2.7.10
* 3.5.6 (set by /Users/.pyenv/version)
3.5.6/envs/core4
3.6.4
3.6.4/envs/core5
core4
core5
带有星号的是当前的全局版本,它将是任何默认Shell中使用的版本。我可以使用pyenv global 3.6.4
进行更改。我也可以创建虚拟环境。例如。 core4和core5是我为特定项目创建的虚拟环境。这些工具中的每一个都有自己的不同库(由pip install
安装)和不同的python版本。您可以为给定的Shell会话激活virtualenv,例如pyenv activate core5
。
如果您正在考虑“这与Windows有什么关系”,请查看此处:https://duckduckgo.com/?q=Windows+Subsystem+for+Linux&atb=v93-1__&ia=web和此处:http://timmyreilly.azurewebsites.net/python-pip-virtualenv-installation-on-windows/
答案 1 :(得分:1)
在Windows上,Python安装PyLauncher。您不需要虚拟环境或重命名技巧。 py.exe
在标准Windows路径中,具有命令行开关来选择要使用的Python版本,并允许使用“ shebangs”来指定要为脚本运行的Python版本:
py script.py # Run the latest Python installed (or specified by PY_PYTHON environment variable).
py -2 script.py # Run the latest Python 2 version installed.
py -3 script.py # Run the latest Python 3 version installed.
py -2.7 script.py # Run the specific Python version.
py -2.7-32 script.py # Run the 32-bit specific Python version.
脚本可以使用类似于Linux的shebang:
#!python2
#!python3
#!python2.7
#!python2.7-32
要使用特定版本运行pip:
py -2.7 -m pip install ...