当前位置: 首页 > 面试题库 >

如何编写setup.py以包括git repo作为依赖项

齐宗清
2023-03-14
问题内容

我正在尝试setup.py为我的包裹写东西。我的程序包需要指定对另一个git repo的依赖。

这是我到目前为止所拥有的:

from setuptools import setup, find_packages

setup(
    name='abc',
    packages=find_packages(),
    url='https://github.abc.com/abc/myabc',
    description='This is a description for abc',
    long_description=open('README.md').read(),
    install_requires=[
        "requests==2.7.0",
        "SomePrivateLib>=0.1.0",
        ],
    dependency_links = [
     "git+git://github.abc.com/abc/SomePrivateLib.git#egg=SomePrivateLib",
    ],
    include_package_data=True,
)

当我跑步时:

pip install -e https://github.abc.com/abc/myabc.git#egg=analyse

我懂了

找不到满足SomePrivateLib> = 0.1.0要求的版本(来自分析)(来自版本:)找不到SomePrivateLib> =
0.1.0(来自分析)的匹配分布

我究竟做错了什么 ?


问题答案:

您可以在此处找到正确的方法。

dependency_links=['http://github.com/user/repo/tarball/master#egg=package-1.0']

关键不是提供指向git存储库的链接,而是提供指向tarball的链接。如果您/tarball/master如上所述进行追加,Github将为您创建master分支的tarball



 类似资料:
  • 问题内容: 在“撰写设置脚本(http://docs.python.org/2/distutils/setupscript.html)”的python文档中提到可以在本节中指定依赖项 > 2.4。发行与包装之间的关系 […]可以使用distutils.core.setup()函数的关键字参数来指定这些关系。 可以通过向setup()提供require关键字参数来指定对其他Python模块和软件包的

  • 问题内容: 我正在创建 setup.py 来分发我的应用程序。该应用程序具有许多可通过pip安装的依赖项,还具有一些无法从PyPI安装的自定义依赖项。 因此,我创建了一个将包含在发行版中的,并且必须在 setup.py 从安装了所有内容之后作为依赖项进行安装。 想象以下应用程序结构: 我怎么做? 问题答案: 可能但不确定应使用哪个setuptools版本。脚步: 在setup.py中 重要的是您的

  • 我正试图让maven下载所有的依赖项(编译、测试、插件等)。)这样我就可以避免让我们的dockerized构建浪费不必要的时间一遍又一遍地下载它们。 我们已经对maven build进行了dockerized,这样我们就可以从jenkins运行它,而无需在jenkins机器上安装大量构建特定的依赖项(Java、redis、maven依赖项等)。我们的构建依赖于增量docker构建,它只执行实际需要

  • 问题内容: 我正在尝试用Spring 3.0(和Maven)做我的第一个项目。我已经在许多项目中使用Spring 2.5(和入门版本)。尽管如此,我还是有些困惑,我必须在pom.xml中将哪些模块定义为依赖项。我只想使用核心容器功能(bean,核心,上下文,el)。 我曾经这样做: 但是现在我有点困惑,因为不再有用于3.0版的完整包装的spring模块。我尝试了以下操作,但是没有用(缺少某些类)。

  • 我有一个错误的: 您的需求无法解析为一组可安装的包。 问题1-我的/包dev-master的安装请求- 潜在原因: 包名中的一个错别字 根据您的最小稳定性设置,该包没有足够稳定的版本,请参阅https://getcomposer.org/doc/04-schema.md#minimum-stability了解更多详细信息。 这是一个私人包,你忘了添加一个自定义存储库来查找它 我的包/作曲家。jso

  • Gradle 支持从 Maven 或 Ivy 仓库中拉取依赖文件。首先必须将仓库添加到列表中,然后必须在 dependencies 中添加 Maven 或 Ivy 声明的包。 repositories { jcenter() } dependencies { compile 'com.google.guava:guava:18.0' } android { ... } 注意