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

Gra*_*tel 5 python dependencies pip setup.py gem-fury

我有几个Python包成功上传到GemFury使用

git push fury master
Run Code Online (Sandbox Code Playgroud)

设置遥控器后.

现在我想在其他软件包的构建中使用这些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)
Run Code Online (Sandbox Code Playgroud)

然后我运行这个:

sudo pip install .
Run Code Online (Sandbox Code Playgroud)

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

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

"找不到满足要求的版本package_on_gemfury == 0.1(来自my_package == 0.1)(来自版本:)没有找到package_on_gemfury == 0.1(来自my_package == 0.1)的匹配分布"

有任何想法吗?

bre*_*ttm 2

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

您可以通过访问 Gemfury 网站并查看手动链接来下载软件包来找到它。

例如; https://manage.fury.io/1/versions/{x_here}/download?as=john

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

dependency_links=['https://pypi.fury.io/{gemfury_account_name}/-/{gemfury_package_version_id}/{package_name_and_version}?auth={gemfury_auth_hash}']
Run Code Online (Sandbox Code Playgroud)