使用 pip 安装私有 github 存储库时遇到问题

Posted

技术标签:

【中文标题】使用 pip 安装私有 github 存储库时遇到问题【英文标题】:Trouble installing private github repository using pip 【发布时间】:2013-09-23 20:58:21 【问题描述】:

作为序言,我已经看到了这个问题Is it possible to use pip to install a package from a private github repository?

我正在尝试从我可以使用 pip 访问的私有存储库安装一个包。

我可以像这样直接克隆它:

(myenv)robbie@ubuntu:~/git$ git clone git@github.com:matherbk/django-messages.git
Cloning into 'django-messages'...
remote: Counting objects: 913, done.
remote: Compressing objects: 100% (345/345), done.
remote: Total 913 (delta 504), reused 913 (delta 504)
Receiving objects: 100% (913/913), 165.73 KiB, done.
Resolving deltas: 100% (504/504), done.

但是当我尝试通过 pip 安装它时(我的 virtualenv 已激活):

(myenv)robbie@ubuntu:~/git$ pip install git+https://git@github.com/matherbk/django-messages.gitDownloading/unpacking git+https://git@github.com/matherbk/django-messages.git
  Cloning https://git@github.com/matherbk/django-messages.git to /tmp/pip-13ushS-build
Password for 'https://git@github.com': 
fatal: Authentication failed
  Complete output from command /usr/bin/git clone -q https://git@github.com/matherbk/django-messages.git /tmp/pip-13ushS-build:

----------------------------------------
Command /usr/bin/git clone -q https://git@github.com/matherbk/django-messages.git /tmp/pip-13ushS-build failed with error code 128 in None
Storing complete log in /home/robbie/.pip/pip.log

我尝试输入密码,但失败了。但是我通过 git@github.com 的 ssh 身份验证:

(myenv)robbie@ubuntu:~/git$ ssh -T git@github.com
Hi robpodosek! You've successfully authenticated, but GitHub does not provide shell access.

我可以将git@github.com 切换到robpodosek@github.com,它可以让我通过 pip 安装就好了:

(myenv)robbie@ubuntu:~/git$ pip install git+https://robpodosek@github.com/matherbk/django-messages.git
Downloading/unpacking git+https://robpodosek@github.com/matherbk/django-messages.git
  Cloning https://robpodosek@github.com/matherbk/django-messages.git to /tmp/pip-SqEan9-build
Password for 'https://robpodosek@github.com': 
  Running setup.py egg_info for package from git+https://robpodosek@github.com/matherbk/django-messages.git

    warning: no files found matching 'README'
Installing collected packages: django-messages
  Running setup.py install for django-messages

    warning: no files found matching 'README'
Successfully installed django-messages
Cleaning up...

但是,我想通过使用 git@github.com 来完成第一篇提到的文章,这样我就不必将我的用户名添加到 requirements.txt 文件中并将其添加到版本控制中。

有什么想法吗?我以前有这个工作,但必须启动一个新的图像。提前谢谢。

【问题讨论】:

pip install git+ssh://git@github.com/matherbk/django-messages.git ? 我遇到了错误,因为我正在处理命令(在 pdf 中,hypen 和 dash 问题存在)......当我编写命令时,它对我有用...... 【参考方案1】:

它通过使用 oxyum 的建议将其更改为:

pip install git+ssh://git@github.com/matherbk/django-messages.git

【讨论】:

感谢您提出正确的答案。你们太棒了。【参考方案2】:

确保您使用 github.com/account 而不是 github.com:account 见Git+SSH dependencies have subtle (yet critical) differences from git clone

【讨论】:

如果没有您的帖子,我永远不会注意到我的 URI 有什么问题。你拯救了我的一天【参考方案3】:

已激活 virtualenv 并且必须从 github.com 的文本文件中安装一系列应用程序。

(venv)$ cat requirements.txt
-e git://github.com/boto/botocore.git@develop#egg=botocore
-e git://github.com/boto/jmespath.git@develop#egg=jmespath
-e git://github.com/boto/s3transfer.git@develop#egg=s3transfer
nose==1.3.3
mock==1.3.0
wheel==0.24.0
unittest2==0.5.1; python_version == '2.6'

(venv)$ pip install -r requirements.txt
Ignoring unittest2: markers 'python_version == "2.6"' don't match your environment Obtaining botocore from git+git://github.com/boto/botocore.git@develop#egg=botocore (from -r requirements.txt (line 1))
Cloning git://github.com/boto/botocore.git (to develop) to ./venv/src/botocore
fatal: unable to connect to github.com:
github.com[0: 192.30.253.112]: errno=Connection timed out
github.com[1: 192.30.253.113]: errno=Connection timed out

Command "git clone -q git://github.com/boto/botocore.git 
/home/ubuntu/utils/boto3/venv/src/botocore" failed with error code 128 in None

但是,正如@Robeezy 建议的那样,编辑了 requirements.txt 并从

-e git://github.com...

-e git+https://github.com...

如果您要从站点克隆,则提供的链接(只有克隆或下载选项)。

那么,谢谢!终于成功了。

【讨论】:

【参考方案4】:

如果您使用pip install git+https://github.com/repo 安装并收到此错误,请确保您的用户名和密码正确。我收到此错误是因为我输入了错误的密码。

【讨论】:

如何查看用户名和密码? @维托

以上是关于使用 pip 安装私有 github 存储库时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 pip 从私有 GitHub 存储库安装包?

解决用pip安装Python库时可能会遇到的问题

发布到 Nexus 上的私有 NPM 存储库时的身份验证错误

配置以便 pip install 可以从 github 工作

pip 安装库时临时指定豆瓣源

pip安装python库时使用国内镜像资源加速下载过程