问题描述
在 Windows 10 上使用 Python 3.7.6,我尝试升级直接从 git 存储库安装的包:
pip install --upgrade git+https://url.of.my/py/package.git
然后安装失败:
...
error: file 'C:\Users\myuser\AppData\Local\Temp\pip-req-build-ip4k0pfs\bin\some-script' does not exist
...
据我所知,原因如下:早期,pip 调用
git clone -q https://url.of.my/py/package.git 'C:\Users\myuser\AppData\Local\Temp\pip-req-build-ip4k0pfs'
即它将存储库检出到临时目录中。但是,不会创建该目录,也不会签出任何源。事实上,当我在 Windows 命令行上运行该命令时(我也尝试过 Git Bash 和 MSYS2 Bash,同样的问题),我收到一个错误:
C:\Users\myuser>git clone -q https://url.of.my/py/package.git 'C:\Users\myuser\AppData\Local\Temp\pip-req-build-ip4k0pfs'
fatal: could not create leading directories of ''C:\Users\myuser\AppData\Local\Temp\pip-req-build-ip4k0pfs'': Invalid argument
问题是single临时目录的路径用引号引起来。将它们更改为双引号会使错误消失:
C:\Users\myuser>git clone -q https://url.of.my/py/package.git "C:\Users\myuser\AppData\Local\Temp\pip-req-build-ip4k0pfs"
Question
有什么办法告诉 pip 使用双引号而不是单引号吗?关于如何克服这个问题还有其他想法吗?
Edits
- 与此同时,我也尝试了Python 3.8.2和pip 20.1,并得到了同样的错误
正如 @sinoroc 怀疑的那样,引号 - 或者更确切地说,记录的 git 命令如果直接执行则不起作用 - 是一个红鲱鱼,实际的问题是我的setup.py
有一个错字:scripts
列表包含一个名为bin/some-script
,实际上被命名为bin/some-script.py
,因此无法找到。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)