2018/10/16

[Python] dependency_links を使わないでレポジトリを明示的に指定する方法

以前書いたように dependency_links は Deprecated な状態にありながらも、有効な代替手段がない状態でした。

参考

setup.py に dependency_links を書いても "Could not find a version that satisfies the requirement" が出る場合の対処方法4種 | 穀風

しかし、先日1 リリースされた pip 18.1 で PEP 508 が実装され dependency_links を使わないで独自のレポジトリを指定できるようになりました。

参考

例えば、mytestlib というパッケージを myserver.com にあるレポジトリからインストールするとします。 その場合、以下のようにパッケージ名の後ろに @ をつけてパスを指定すればOKです。(タグを指定する場合は、さらに @ をつけて指定します)

mytestapp/setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- coding: utf-8 -*-
 
import setuptools
 
with open('README.md') as f:
    readme = f.read()
 
with open('LICENSE') as f:
    license = f.read()
 
 
setuptools.setup(
    name='mytestapp',
    version='0.1',
    description='Test Application for checking dependency_links',
    long_description=readme,
    url='',
    licence=license,
    packages=setuptools.find_packages(exclude=('tests', 'docs')),
    install_requires=[
        'mytestlib@git+https://myserver.com/kokufu/mytestlib.git@0.1'
    ],
    test_suite='tests',
    entry_points={
        'console_scripts': [
            'mytestapp=mytestapp.main:main'
        ]
    }
)
  1. 2018/10/5 
?

0 件のコメント: