6

我有几个 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)”

有任何想法吗?

4

2 回答 2

4

我解决了这个问题

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

我需要的每个package_name一个。

于 2017-06-19T10:26:19.997 回答
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}']
于 2016-12-21T05:08:07.763 回答