Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重命名Python3.7可执行文件而不破坏文件_Python_Windows_Python 3.7 - Fatal编程技术网

重命名Python3.7可执行文件而不破坏文件

重命名Python3.7可执行文件而不破坏文件,python,windows,python-3.7,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.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工具都能工作?

这听起来是个坏主意

有一些工具可以帮助您准确地管理这类事情。其中最好的imho是
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会话激活VirtualNV,例如,
pyenv activate core5


如果你在想“这到底和Windows有什么关系”,看看这里:

这听起来是个坏主意

有一些工具可以帮助您准确地管理这类事情。其中最好的imho是
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会话激活VirtualNV,例如,
pyenv activate core5


如果你在想“这到底和Windows有什么关系”,看看这里:这里:

在Windows Python上安装。您不需要虚拟环境或重命名技巧
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.
py -0                 # List Python versions installed.
脚本可以使用类似于Linux的Shebang:

#!python2
#!python3
#!python2.7
#!python2.7-32 
要使用特定版本运行pip,请执行以下操作:

py -2.7 -m pip install ...
如果您仍然需要具有特定Python版本的虚拟环境,则可以指定版本(例如
-3
)并使用:

创建虚拟环境 /脚本/激活#激活该环境
激活会将虚拟环境添加到路径中,因此
python
(而不是
py
)将在该环境中运行。该环境中的
Scripts
目录也将添加到路径中,因此可以直接运行
pip
在该环境中安装软件包。

在Windows Python上安装。您不需要虚拟环境或重命名技巧
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.
py -0                 # List Python versions installed.
脚本可以使用类似于Linux的Shebang:

#!python2
#!python3
#!python2.7
#!python2.7-32 
要使用特定版本运行pip,请执行以下操作:

py -2.7 -m pip install ...
如果您仍然需要具有特定Python版本的虚拟环境,则可以指定版本(例如
-3
)并使用:

创建虚拟环境 /脚本/激活#激活该环境
激活会将虚拟环境添加到路径中,因此
python
(而不是
py
)将在该环境中运行。该环境中的
Scripts
目录也将添加到路径中,因此
pip
也可以直接运行,以便在该环境中安装软件包。

切换到linux,修复起来很简单;)。在Python3.7中,pip是标准库的一部分,因此建议运行pip的方法是
python-mpip
。我建议您这样做,而不是使用
pip37.exe
。不管怎样,
pip
/
pip37.exe
可执行文件几乎就是该命令的包装。您可以使用可执行文件旁边的符号链接(例如python37.exe->python.exe)并使用符号链接运行特定版本。这对嵌入脚本(例如,嵌入在pip37.exe中)中的完全限定路径没有影响。但是,它仍然需要管理
PATH
中的安装顺序,以便在命令提示符下通过非限定的
python
设置运行哪个版本。通过激活一个由Python3的venv模块创建的虚拟环境,可以很容易地解决这个问题。切换到linux,修复起来很简单;)。在Python3.7中,pip是标准库的一部分,因此建议运行pip的方法是
python-mpip
。我建议您这样做,而不是使用
pip37.exe
。不管怎样,
pip
/
pip37.exe
可执行文件几乎就是该命令的包装。您可以使用可执行文件旁边的符号链接(例如python37.exe->python.exe)并使用符号链接运行特定版本。这对嵌入脚本(例如,嵌入在pip37.exe中)中的完全限定路径没有影响。但是,它仍然需要管理
PATH
中的安装顺序,以便在命令提示符下通过非限定的
python
设置运行哪个版本