Aptパッケージは12.2のようです
Sudo pip install -U setuptools
を実行すると、バージョンは12.2のままです。
$ python
>>> import pkg_resources
>>> r = pkg_resources.require(["setuptools"])[0]
>>> print("setuptools version: %s" % r.version)
setuptools version: 12.2
[編集]
それがsetuptoolsのOSバージョンを上書きしないことに気づいただけです:
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-7.1.2-py2.py3-none-any.whl#md5=5ff9fec0be479e4e36df467556deed4d
Downloading pip-7.1.2-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Downloading/unpacking setuptools from https://pypi.python.org/packages/3.4/s/setuptools/setuptools-18.3.2-py2.py3-none-any.whl#md5=58c1e15fe0c124ab0880a2691f232434
Downloading setuptools-18.3.2-py2.py3-none-any.whl (462kB): 462kB downloaded
Installing collected packages: pip, setuptools
Found existing installation: pip 1.5.6
Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS
Found existing installation: setuptools 12.2
Not uninstalling setuptools at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed pip setuptools
Cleaning up...
[/編集]
リポジトリバージョンを削除する
Sudo apt-get remove python-setuptools
必要に応じて、pip
を再度インストールします
wget https://bootstrap.pypa.io/get-pip.py
Sudo -H python get-pip.py
setuptools
経由でpip
をインストールします
Sudo -H pip install -U pip setuptools
そして今、もう一度テストを始めましょう
% python
Python 2.7.9 (default, Apr 2 2015, 15:33:21)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pkg_resources
>>> r = pkg_resources.require(["setuptools"])[0]
>>> print("setuptools version: %s" % r.version)
setuptools version: 18.3.2
python-setuptools
またはpython-pip
のいずれかに依存するパッケージをインストールすると、これらのパッケージが復元されるため、この手順を繰り返す必要があります。
A.B.によって提案された解決策十分ではないかもしれません:setuptoolsの最近のバージョンでは、pkg_resources
はパッケージですが、以前は単一のモジュールでした。
説明した方法でsetuptools
を更新すると 古いpkg_resources.py{,c}
を残します になり、setuptools
をインポートするときに次のエラーが発生する可能性があります。
AttributeError: 'module' object has no attribute 'packaging'
削除するには、次の手順を実行します。
古いpkg_resources
モジュールの場所を確認します。
$ python -c 'import pkg_resources; print(pkg_resources.__file__)'
/usr/lib/python2.7/dist-packages/pkg_resources.pyc
このファイルとその.py
ファイルを削除します。
$ Sudo rm /usr/lib/python2.7/dist-packages/pkg_resources.py*
このファイルは、python-pkg-resources
パッケージを介してインストールされた可能性があります。したがって、このパッケージを更新または再インストールすると、古いモジュールが復元されます!また、apt
によって制御されることになっているファイルをいじっていることにも注意してください。