我有一个名为some-library
的私有库(实际名称已更改),其安装文件如下所示:
setup(
name='some-library',
// Omitted some less important stuff here...
install_requires=[
'some-git-dependency',
'another-git-dependency',
],
dependency_links=[
'git+ssh://git@github.com/my-organization/some-git-dependency.git#egg=some-git-dependency',
'git+ssh://git@github.com/my-organization/another-git-dependency.git#egg=another-git-dependency',
],
)
所有这些Git依赖项都可能是私有的,所以installation via HTTP不是一个选项。我可以在some-library
的根目录中使用python setup.py install
和python setup.py develop
,没有问题。
但是,在Git上安装不起作用:
pip install -vvv -e 'git+ssh://git@github.com/my-organization/some-library.git@1.4.4#egg=some-library'
该命令在查找some-git-dependency
时失败,错误地假设它需要从PyPI获取依赖项,然后在得出它不在PyPI上的结论后失败。我的第一个猜测是尝试使用--process-dependency-links
重新运行该命令,但随后发生了以下情况:
Cannot look at git URL git+ssh://git@github.com/my-organization/some-git-dependency.git#egg=some-git-dependency
Could not find a version that satisfies the requirement some-git-dependency (from some-library) (from versions: )
为什么它会产生这个模糊的错误?什么是正确的方式来pip install
一个包的Git依赖,可能是私有的?
发布于 2016-04-29 23:44:48
这也应该适用于私有存储库:
dependency_links = [
'git+ssh://git@github.com/my-organization/some-git-dependency.git@master#egg=some-git-dependency',
'git+ssh://git@github.com/my-organization/another-git-dependency.git@master#egg=another-git-dependency'
],
发布于 2016-05-01 22:22:07
当url与#egg一起使用时,应该使用git+git,如下所示:
-e git+git@repo.some.la:foo/my-repo.git#egg=my-repo
在不带#egg的生产环境中使用git+ssh,但您可以指定@version或branch @master
git+ssh://git@repo.some.la/foo/my-repo.git@1.1.6
要使用应用程序版本,请使用git标签Git Basics - Tagging
发布于 2016-04-28 21:30:05
如果我指的是"pip install dependency links",您不会指GitHub存储库本身,而是指与该GitHub存储库关联的tarball镜像:
dependency_links=[
'git+ssh://git@github.com/my-organization/some-git-dependency/tarball/master/#egg=some-git-dependency',
'git+ssh://git@github.com/my-organization/another-git-dependency/tarball/master/#egg=another-git-dependency',
],
其中"some-git-dependency
“是依赖项的名称*和版本。
https://stackoverflow.com/questions/36544700
复制相似问题