在 win 10 上,我正在安装到 py 3.6 venv。从终端
pip install --upgrade git+git://github.com/larochew/py_daemoniker.git@cfd8a669975c217f6df7063be8cb8fbc08b5f0df#egg=daemoniker
工作正常:
Connected to pydev debugger (build 192.5728.105)
Running command git clone -q git://github.com/larochew/py_daemoniker.git 'C:\Users\user\AppData\Local\Temp\pip-install-g9do107m\daemoniker'
Collecting daemoniker
Cloning git://github.com/larochew/py_daemoniker.git (to revision cfd8a669975c217f6df7063be8cb8fbc08b5f0df) to c:\users\user\appdata\local\temp\pip-install-g9do107m\daemoniker
Running command git checkout -q cfd8a669975c217f6df7063be8cb8fbc08b5f0df
Installing collected packages: daemoniker
Running setup.py install for daemoniker: started
Running setup.py install for daemoniker: finished with status 'done'
Successfully installed daemoniker-0.2.3
但是从代码来看:
try:
from pip import main as pipmain
except:
from pip._internal import main as pipmain
pipmain.main(['install', '--upgrade', 'git+git://github.com/larochew/py_daemoniker.git@cfd8a669975c217f6df7063be8cb8fbc08b5f0df#egg=daemoniker'])
结果:
Collecting daemoniker
Cloning git://github.com/larochew/py_daemoniker.git (to revision cfd8a669975c217f6df7063be8cb8fbc08b5f0df) to c:\users\user\appdata\local\temp\pip-install-64iunozy\daemoniker
Running command git clone -q git://github.com/larochew/py_daemoniker.git 'C:\Users\user\AppData\Local\Temp\pip-install-64iunozy\daemoniker'
Running command git checkout -q cfd8a669975c217f6df7063be8cb8fbc08b5f0df
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\user\\AppData\\Local\\Temp\\pip-req-tracker-qu0hrtol\\9eeeef850bab53900fe60a86b33217ba700f6f3907aadc10a37ed11f'
虽然正常的软件包安装没有错误。
最佳答案
由于我需要在 Windows 下通过代码静默安装需求,下面的代码就达到了目的:
subprocess.check_call(
[executable, '-m', 'pip', 'install', '--upgrade', '-r', config['requirements_file']],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE
)
如果没有 stdout=subprocess.PIPE
来自 pip 的 stdout 将转到当前进程。此外,这不会在 win 中创建终端。感谢 @sinoroc 评论的引导
关于python - 以编程方式从存储库进行 pip install 会导致错误 "No such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58997311/