引数またはフラグを指定してpip
を実行すると、問題が発生します。私はapt-get install --reinstall python-pip
を試しましたが、助けにはならず、これを修正する方法に途方に暮れています
Ubuntuのバージョン
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
Pythonのバージョン
$ python --version
Python 2.7.6
ピップバージョン
$ dpkg -l | grep pip
ii python-pip 1.5.4-1 all alternative Python package installer
エラー、どの引数やフラグを試しても、まったく同じエラーが発生します。
$ pip
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 351, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2363, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2088, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 11, in <module>
from pip.vcs import git, Mercurial, Subversion, Bazaar # noqa
File "/usr/lib/python2.7/dist-packages/pip/vcs/Mercurial.py", line 9, in <module>
from pip.download import path_to_url
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>
from requests.compat import IncompleteRead
ImportError: cannot import name IncompleteRead
報告されているバグのようです here
pip
の新しいバージョンをインストールすれば機能するはずです。
現在のpip
インストールは次の方法で削除できます。
Sudo apt-get purge python-pip
次に、githubからインストールします(新しいバージョンです):
wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
python get-pip.py
編集
それでも動作しない場合は、インストールドキュメントに記載されているように(新しいバージョンをインストールした後)これを試してください。
コマンドラインからpip
の使用を有効にするには、PythonインストールのScriptsサブディレクトリがシステムPATHで利用可能であることを確認してください。 (これは自動的に行われません。)
参照:
この問題は、pipインストールと要求インストールの不一致が原因です。最初にpython-pipパッケージを削除してから、最新バージョンのpipをインストールします。ターミナルを開き、次を入力します。
Sudo apt remove python-pip
Sudo apt install python-setuptools
Sudo easy_install -U pip
Python 3.xのpipを更新するには、python-pip
をpython3-pip
に、python-setuptools
をpython3-setuptools
に、easy_install
をeasy_install3
に置き換えます。
さて、githubのget-pip.pyスクリプトは古く、最新バージョンは次のようにpypaにあります。
Sudo apt-get purge python-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
同じエラーと同じUbuntuバージョンがありました。 easy_installも機能していませんでした。 apt-get --reinstallを実行しても機能しませんでした。
再コンパイルしてみてください:
Sudo python
>>>import compileall
>>>compileall.compile_dir('/usr/lib/python2.7', force=True)
「pip list」が機能するようになりました(以前にすべてのpycファイルを削除していましたが、必要または安全だとは思いません)
/ user/binへのシンボリックリンクを作成します
Sudo ln -s /usr/local/bin/pip /usr/bin/
このウェブサイトからpython-pipを再インストールするとうまくいきました:
Sudo apt-get purge python-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py --user