GemFury包的Python setup.py依赖关系链接

时间:2016-12-11 11:43:29

标签: python dependencies pip setup.py gem-fury

我使用

将几个Python包成功上传到GemFury
git push fury master
设置遥控器后

现在我想在其他软件包的构建中使用这些GemFury托管软件包(一些在GemFury上,有些则不在)。我通过调查如何更新我的setup.py以适应这个新来源来开始这样做:

from setuptools import setup

setup(name='my_package',
      version='0.1',
      description='my_package package',
      url='https://bitbucket.org/me/my_package',
      packages=['my_package'],
      install_requires=[
            'package_on_gemfury==0.1',
            'pandas==0.19.0',
            'numpy==1.11.2',
      ],
      dependency_links=[
                  'https://pypi.fury.io/[KEY]/me/'
                  # 'https://pypi.fury.io/[KEY]/me/#egg=package_on_gemfury-0.1'
                  # 'https://pypi.fury.io/me/package_on_gemfury?auth=[KEY]'
      ],
      test_suite='nose2.collector.collector',
      tests_require=['nose2'],
      include_package_data=True,
      zip_safe=False)

然后我运行:

sudo pip install .

如果my_package是在本地安装的,它可以工作,但如果没有在本地安装,它就不会从GemFury中提取。

正如您所看到的,我尝试了几种不同的方法来使依赖关系链接正常工作,但没有任何效果。我收到以下错误:

"找不到满足要求的版本package_on_gemfury == 0.1(来自my_package == 0.1)(来自版本:) 找不到package_on_gemfury == 0.1(来自my_package == 0.1)"

的匹配分布

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您需要我认为是Gemfury包版本ID。

您可以访问Gemfury网站并查看手册链接以下载该软件包。

E.g;     https://manage.fury.io/1/versions/ {x_here} /下载?如=约翰

将您的依赖关系链接更改为以下内容。

dependency_links=['https://pypi.fury.io/{gemfury_account_name}/-/{gemfury_package_version_id}/{package_name_and_version}?auth={gemfury_auth_hash}']

答案 1 :(得分:3)

我解决了以下问题

https://pypi.fury.io/[token]/[me]/[package_name]/

我需要的每个 package_name 一个。