带私有需求的pip安装失败

2024-09-27 07:25:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下requirements.txt文件:

git+ssh://git@bitbucket.org/.../...git@4.19.0#subdirectory=py 
git+ssh://git@bitbucket.org/.../...git@c99b7f6f372c92832eecfb90663833ef1fd3dc62
git+ssh://git@bitbucket.org/.../...git@45d2999ce5f6eba5dd728414073a10d1c50616a2
git+ssh://git@bitbucket.org/.../....git@1ba2781cd2beae6d23218565c395b633b0eb5328

但是,当我尝试安装它时,它失败了:

$ pip install -r requirements.txt
Collecting git+ssh://****@bitbucket.org/.../...git@4.19.0#subdirectory=py (from -r requirements.txt (line 8))
Cloning ssh://****@bitbucket.org/.../...git (to revision 4.19.0) to c:\users\...\appdata\local\temp\pip-req-build-t9_wrhxh
ERROR: Command errored out with exit status 128: git clone -q 'ssh://****@bitbucket.org/.../...git' 'C:\Users\...\AppData\Local\Temp\pip-req-build-t9_wrhxh' Check the logs for full command output.

其他同事可以安装需求。。。这是什么原因?如果我在相同的位置克隆,如错误消息所示,则可以正常工作:

$ git clone ssh://git@bitbucket.org/.../....git
Cloning into '...'... 
Enter passphrase for key '/c/Users/.../.ssh/id_rsa': 
remote: Counting objects: 2053, done. 
remote: Compressing objects: 100% (1648/1648), done. 
remote: Total 2053 (delta 1279), reused 385 (delta 200) 
Receiving objects: 100% (2053/2053), 1.88 MiB | 611.00 KiB/s, done. Resolving deltas: 100% (1279/1279), done.

Tags: piptopyorggittxtbitbucketobjects
1条回答
网友
1楼 · 发布于 2024-09-27 07:25:23
$ pip install -r requirements.txt
...
ERROR: Command errored out with exit status 128: 
   git clone -q 'ssh://****@bitbucket.org/.../...git' 'C:\Users\...\AppData\Local\Temp\pip-req-build-t9_wrhxh'
   Check the logs for full command output.

运行pip install的这一行包括正在执行的命令。失败的只是正常的git clone写入临时目录(可以忽略)。-q(安静)标志正在抑制某些输出

$ git clone ssh://git@bitbucket.org/.../....git
...
Enter passphrase for key '/c/Users/.../.ssh/id_rsa': 

克隆中的这一行直接表示克隆成功时,用于使用bitbucket进行身份验证的密钥具有密码短语。当在交互进程中进行克隆时,git能够提示进行克隆,但在none交互进程(如pip)中则不是这样

解决方案

解决这个问题有多种方法,但最简单的方法是:

  • 创建一个新的ssh密钥对,而不使用密码短语
  • 将此密钥添加到您的bitbucket帐户
  • 将ssh配置为在bitbucket.org中使用此密钥
Host bitbucket.org
   IdentityFile ~/.ssh/no_passphrase.id_rsa
  • 成功

相关问题 更多 >

    热门问题