重命名python 3.7可执行文件而不会破坏内容

时间:2018-10-20 11:14:10

标签: python windows python-3.7

为了避免与其他版本冲突,我将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工具正常工作?

2 个答案:

答案 0 :(得分:4)

这听起来像个坏主意。

有些工具旨在帮助您准确地管理这类事情。最好的恕我直言是pyenvhttps://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 ...