2018/10/16

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

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

> 参考
> 
> [setup.py に dependency_links を書いても "Could not find a version that satisfies the requirement" が出る場合の対処方法4種 | 穀風](https://kokufu.blogspot.com/2018/04/setuppy-dependencylinks-could-not-find.html)

しかし、先日2018/10/5 リリースされた pip 18.1 で [PEP 508](https://www.python.org/dev/peps/pep-0508/) が実装され `dependency_links` を使わないで独自のレポジトリを指定できるようになりました。

2018/04/25

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

2018/10/16 追記
Pip 18.1 以降は dependency_links を使わない方法が正式になりました。
[dependency_links を使わないでレポジトリを明示的に指定する方法](https://kokufu.blogspot.com/2018/10/dependencylinks.html)
Python で `pip install` 可能なパッケージを作成した際、 [PyPI](https://pypi.org/) に登録してしまえば `pip` が適切に処理してくれるので簡単です。 しかし、内部用のライブラリの場合は明示的にリポジトリの場所を指定しなければなりません。 そのための機能として、`setuptools.setup()` には `dependency_links` という引数があります。 ところが、`pip install` しようとした場合、`dependency_links` は無視されてしまい、うまくいきません。 `dependency_links` は、基本的に `python setup.py install` の場合を想定しているようです。 ただ、`pip` は `setup.py` の上位ラッパーこの表現が適切かどうかは怪しいですがのはず。 対処方法が無いはずはないと思って調べてみました。