首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >依赖于setup.py中的git存储库

依赖于setup.py中的git存储库
EN

Stack Overflow用户
提问于 2016-07-12 08:27:29
回答 1查看 3.5K关注 0票数 13

我试图使一个项目依赖于git依赖项。然而,我似乎无法让它发挥作用。我基本上想要实现的是以下几点,但却行不通:

代码语言:javascript
复制
#!/usr/bin/env python3
from setuptools import setup


setup(
    name='spam',
    version='0.0.0',
    install_requires=[
        'git+https://github.com/remcohaszing/pywakeonlan.git'
    ])

我尝试了上面的几个变体,比如添加@master#egg=wakeonlan-0.2.2,但是这并没有什么区别。

以下操作有效,但仅在使用不推荐使用的pip标志--process-dependency-links时才起作用

代码语言:javascript
复制
#!/usr/bin/env python3
from setuptools import setup


setup(
    name='spam',
    version='0.0.0',
    install_requires=[
        'wakeonlan'
    ],
    dependency_links=[
        'git+https://github.com/remcohaszing/pywakeonlan.git#egg=wakeonlan-0.2.2'
    ])

这一产出如下:

代码语言:javascript
复制
$ pip install --no-index -e . --process-dependency-links
Obtaining file:///home/remco/Downloads/spam
  DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release.
Collecting wakeonlan (from spam==0.0.0)
  Cloning https://github.com/remcohaszing/pywakeonlan.git to /tmp/pip-build-mkhpjcjf/wakeonlan
  DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release.
Installing collected packages: wakeonlan, spam
  Running setup.py install for wakeonlan ... done
  Running setup.py develop for spam
Successfully installed spam wakeonlan-0.2.2

以下是行之有效的办法:

代码语言:javascript
复制
pip install 'git+https://github.com/remcohaszing/pywakeonlan.git'

同时,在需求文件中添加git url也是有效的。

是否有任何非推荐的方式依赖使用setup.py文件的git url?

EN

回答 1

Stack Overflow用户

发布于 2018-01-12 22:27:11

Pip >= 9.1 (提交6ec559)将支持PEP508中描述的新的@语法,其格式为:pkgname@url#sum -例如:

代码语言:javascript
复制
pip install --no-index packaging@https://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl#sha256=ce1a869fe039fbf7e217df36c4653d1dbe657778b2d41709593a0003584405f4

这也可以在setup.py中以同样的方式使用,例如:

代码语言:javascript
复制
install_requires=['packaging@https://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl#sha256=ce1a869fe039fbf7e217df36c4653d1dbe657778b2d41709593a0003584405f4']

您现在可以尝试使用最新的提交到pip主(用‘错误’方式更新pip!):

代码语言:javascript
复制
$ pip install https://github.com/pypa/pip/archive/master.zip
$ pip install --no-index packaging@https://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl#sha256=ce1a869fe039fbf7e217df36c4653d1dbe657778b2d41709593a0003584405f4
Collecting packaging@ https://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl#sha256=ce1a869fe039fbf7e217df36c4653d1dbe657778b2d41709593a0003584405f4 
from https://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl#sha256=ce1a869fe039fbf7e217df36c4653d1dbe657778b2d41709593a0003584405f4
Downloading https://files.pythonhosted.org/packages/2f/2b/c681de3e1dbcd469537aefb15186b800209aa1f299d933d23b48d85c9d56/packaging-15.3-py2.py3-none-any.whl
Installing collected packages: packaging
Successfully installed packaging-15.3
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38323596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档