无法使用pip在github上安装特定的git分支 - 权限被拒绝(publickey)

时间:2014-01-27 17:25:24

标签: git github pip

我正在尝试使用pip在Github上安装fork for repo(https://github.com/theatlantic/django-ckeditor/),但没有成功。

当我使用

pip install -e git+git://github.com/theatlantic/django-ckeditor.git#egg=django-ckeditor

它确实安装了repo的内容,但是它的旧版本,没有我感兴趣的新更改。所以我试图强制pip来获得最新的分支,这显然是atl / 4.3.x但是我得到这个奇怪的错误,比如分支的名称是不正确的或类似的东西:

$ pip install -e git+git://github.com/theatlantic/django-ckeditor.git@"atl/4.3.x"#egg=django-ckeditor
Obtaining django-ckeditor from git+git://github.com/theatlantic/django-ckeditor.git@atl/4.3.x#egg=django-ckeditor
  Updating /home/mathx/.virtualenvs/goblets/src/django-ckeditor clone (to atl/4.3.x)
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Clone of 'git@github.com:theatlantic/ckeditor-dev.git' into submodule path 'ckeditor/static/ckeditor/ckeditor-dev' failed

我在某个地方犯了错误吗?

感谢。

2 个答案:

答案 0 :(得分:3)

您发布的错误消息:

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

...表示您无权访问回购。

您可能很幸运使用GitHub的HTTP URL:

pip install -e git+http://github.com/theatlantic/django-ckeditor.git#egg=django-ckeditor

答案 1 :(得分:2)

IRC的用户询问了类似的情况,我认为我们找到的答案也适用于此。 (与此问题相关的用户说“同样的事情正在发生”,这就是我遇到它的方式。)

考虑OP的输出:

  

从git + git获取django-ckeditor://github.com/theatlantic/django-ckeditor.git@atl/4.3.x#egg=django-ckeditor

OP试图通过匿名git(git:// URL)来安装django-ckeditor。

错误是:

  

将'git@github.com:theatlantic / ckeditor-dev.git'克隆到子模块路径'ckeditor / static / ckeditor / ckeditor-dev'失败

如果你看https://github.com/theatlantic/django-ckeditor/blob/atl/4.3.x/.gitmodules,django-ckeditor会拉入ckeditor-dev,并使用SSH URL。

GitHub不允许通过SSH进行匿名克隆。通过SSH使用git必须使用已注册的SSH密钥。用户必须注册GitHub,注册其公钥,并在发生此安装时适当配置私钥。

存储库所有者(theatlantic)应将其子模块网址更改为https://网址或匿名git://