背景
[2018.06.03更新]
2016年9月にPyPIのURLが変更となり、2017年7月3日から過去のURLを使ったパッケージの登録及びアップロードができなくなった.
本記事は、その変更点と対応方法についてまとめる.
変更点
- PyPIのアップロードリポジトリURLの変更
-
https://pypi.python.org/pypi
からhttps://upload.pypi.org/legacy/
に変更
-
- TestPyPIのアップロードリポジトリURLの変更
-
https://testpypi.python.org/pypi
からhttps://test.pypi.org/lecagy/
に変更
-
- TestPyPIからのインストールリポジトリURLの変更
-
https://testpypi.python.org/simple/
からhttps://test.pypi.org/simple/
に変更
-
- パッケージアップロード前の、パッケージ情報登録が不要になった
-
python setup.py register
を実行せずに、python setup.py upload
を実行できるようになった
-
~/.pypircの設定
上記アップロードリポジトリURLの変更に対応するため、~/.pypirc
を書き換える.
旧バージョン
~/.pypirc
[distutils]
index-servers =
pypi
testpypi
[pypi]
repository=https://pypi.python.org/pypi
username=****
password=****
[testpypi]
repository=https://test.pypi.org/pypi
username=****
password=****
新バージョン
~/.pypirc
[distutils]3
index-servers =
pypi
testpypi
[pypi]
repository=https://upload.pypi.org/legacy/
username=****
password=****
[testpypi]
repository=https://test.pypi.org/legacy/
username=****
password=****
TestPyPI
TestPyPIへのパッケージアップロード
パッケージ情報登録は不要.
アップロードするパッケージのsetup.py
があるディレクトリで、下記コマンドを実行.
python setup.py sdist upload -r testpypi
TestPyPIからのインストール
変更後のリポジトリURLからインストールする
pip install --index-url https://test.pypi.org/simple/ PACKAGE_NAME
PyPI
PyPIへのパッケージアップロード
TestPyPIと同様にパッケージ情報登録は不要.
python setup.py sdist upload
参考文献
下記チュートリアル記事を参考にした.
https://packaging.python.org/guides/migrating-to-pypi-org/
https://packaging.python.org/guides/using-testpypi/