'git clone ...'可以工作但不是'pip install ...'用于同一个远程网址

时间:2018-02-08 15:45:08

标签: python git ssh pip pipenv

我想通过pipenv或pip + virtualenv从私有的ssh访问的远程存储库安装一个包。 虽然克隆工作:

git clone git@remoteurl:username/package.git

直接安装不会:

pip install git+ssh://git@remoteurl:username/package.git

并输出以下错误:

ssh: Could not resolve hostname remoteurl:username: Name or service not known
fatal: Could not read from remote repository.

我试过pip + virtualenv和pipenv,都不行。 我还尝试了以下几种网址的变体:

pip install git@remoteurl:username/package.git

pip install git+git@remoteurl:username/package.git

pip install git+remoteurl:username/package.git

pip install git+ssh://remoteurl:username/package.git

所有这些都产生了上面给出的相同误差。 我在这里做错了什么?

1 个答案:

答案 0 :(得分:4)

  

SSH:// GIT中@ remoteurl:用户名/ package.git

这种网址的语法错误。

Git理解SSH URL的两种语法:

  • user@host:path/to/repo.git
  • ssh://user@host/path/to/repo.git

所以,试试:

$ pip install git+ssh://git@remoteurl/username/package.git