我正在尝试使用以下命令在我的 Windows 计算机上运行 pip 安装:
pip install -r requirements.txt
但是当我尝试执行该命令时,出现以下错误:
Fatal error in launcher: Unable to create process using '"C:\Program Files\Inkscape\bin\python.exe" "C:\Users\[my user]\.local\bin\pip.exe" install -r requirements.txt': The system cannot find the file specified.
这里明显的是,它正在错误的文件夹中寻找
python.exe
文件。
此文件夹曾经位于我的用户的 PATH 环境变量中,现在我已将其删除。我还重新安装了 Python,但 PATH 变量中没有该文件夹,但即便如此,我仍然收到该错误。是否有一种手动方法可以明确告诉系统
python.exe
位于 \AppData\Local\Programs\Python\Python312\
路径中,而不是它假设的路径中?
我还按照网站之前对这个问题的最佳答案中的说明进行操作。
编辑:使用
where python
会产生以下结果:
C:\Users\[my user]\AppData\Local\Microsoft\WindowsApps\python.exe
编辑2:使用
echo %PATH%
确实显示包含 python.exe
和 pip.exe
的文件夹。
顺便说一下,错误提供的路径中实际上有一个
pip.exe
。
pip.exe
文件由一个简单的启动器存根可执行文件组成,后面是一个包含实际启动器路径的shebang行(在本例中是错误的python.exe
),最后是一个包含Python脚本的ZIP文件,该脚本应该是由 python 可执行文件执行。
有关启动器存根的详细信息可以在 https://bitbucket.org/vinay.sajip/simple_launcher/src/master/
找到如果 shebang 行包含绝对路径(通常是这种情况,似乎也是这种情况),只要启动相同的
PATH
,使用 pip.exe
环境变量就不会执行任何操作。
解决方案是找到与您的Python版本一起安装的
pip.exe
(应该位于Scripts
下面的python.exe
目录中)。您可以复制此 pip.exe
并用它替换 C:\Users\[my user]\.local\bin\pip.exe
。
稍微复杂一点的选项是使用十六进制编辑器修改
pip.exe
以设置正确的路径。