setuptoolsがsetup.cfgを読んでくれない
現象
Pythonでsetuptoolsを使用してwheelファイルを作成しようとしたが、自動的に読んでくれるはずの「setup.cfg」を読んでくれない。
※setup.pyで「setup(name='hoge')」などと指定すると正しく動作する
※正確には、license_fileなどで存在しないファイルを指定するとエラーになるので読んでくれているが、wheelファイル作成時に使用してくれない。
結論
setuptoolsのバージョンが低い
※setuptools 30.3.0から読んでくれるようになったらしい
確認
pip list pip list -o # 更新があるライブラリのみ
アップデート
pip install --upgrade setuptools
何故発生したか
- setuptoolsはPythonに付随してくるので、最新版のPythonを使用すればこの事象は発生しない。
- 意図的にバージョン下げれば発生する?(動かない気もするが。)
- 今回はvenvでPython3.5.2を使用していたため、3.5.2に付随したsetuptoolsのバージョンが仮想環境に入り、本事象が発生した。
- 正確にはpipに依存するsetuptoolsか?
今後の対応
最初に環境を作る際に以下のようにアップグレードを行う!
mkdir hoge cd hoge pyenv local 3.5.2 python -m venv .venv .venv\Scripts\activate.bat python -m pip install --upgrade pip setuptools