私はFedoraにいます。最近、システムをF20からF21にアップグレードしました。 PipはF20で正常に機能していましたが、F21へのアップグレード後に何か問題が発生したに違いありません。 Pipは動作を停止しました。コマンドpip <anything>
を入力するたびに、以下のエラーが発生します。
Traceback (most recent call last):
File "/usr/bin/pip", line 7, in <module>
from pip import main
File "/usr/lib/python2.7/site-packages/pip/__init__.py", line 12, in <module>
from pip.commands import commands, get_summaries, get_similar_commands
File "/usr/lib/python2.7/site-packages/pip/commands/__init__.py", line 6, in <module>
from pip.commands.bundle import BundleCommand
File "/usr/lib/python2.7/site-packages/pip/commands/bundle.py", line 6, in <module>
from pip.commands.install import InstallCommand
File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 5, in <module>
from pip.req import InstallRequirement, RequirementSet, parse_requirements
File "/usr/lib/python2.7/site-packages/pip/req/__init__.py", line 3, in <module>
from .req_install import InstallRequirement
File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 31, in <module>
from pip.utils import (
File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 59, in <module>
def rmtree(dir, ignore_errors=False):
File "/usr/lib/python2.7/site-packages/pip/_vendor/retrying.py", line 47, in wrap
@six.wraps(f)
AttributeError: 'module' object has no attribute 'wraps'
すべての解決策を試した後、私はグーグルで結果を見ることができませんでした。私は少し危険を冒してプレイしようとしました。これは最も安全なソリューションではないかもしれませんが、私にとってはうまくいきました。 python get-pip.py
をもたらしました:
Requirement already up-to-date: pip in /usr/lib/python2.7/site-packages
pipがアンインストールされていたとしても。 /usr/lib/python2.7/site-packages/
を使用して、2つのpipディレクトリを検索します。pip
およびpip-6.0.8.dist-info
。すぐに両方を削除しました。その後、python get-pip.py
もう一度。出来上がり!出来た。
activestate pythonフレッシュインストールでWindowsで私に起こった私はちょうどpipをダウングレードするeasy_installを使用しました
easy_install pip==7.1.2
そしてそれは働いていた....
Easy_installを使用して、以前のバージョンのpipをインストールします
easy_install pip==7.0.2
次に、pipを使用して、ダウンしたバージョンをインストールします。私の場合は9.0.1でした
pip install pip==9.0.1
recreate異なるpip-versionを含む仮想envを使用すると、このようなシナリオを実行できます。
# virtualenv /tmp/env
New python executable in /tmp/env/bin/python
Installing setuptools, pip...done.
# /tmp/env/bin/pip install --upgrade pip
(...)
Found existing installation: pip 1.5.6
Uninstalling pip:
Successfully uninstalled pip
Successfully installed pip
# virtualenv /tmp/env
New python executable in /tmp/env/bin/python
Installing setuptools, pip...done.
# /tmp/env/bin/pip install --upgrade pip
(...)
AttributeError: 'module' object has no attribute 'wraps'
環境には、以前のインストールからのpipフラグメントが含まれています。これを修正するには、-cleanオプションを使用できます:
# virtualenv --clear /tmp/env
Deleting tree /tmp/env/lib/python2.7
Not deleting /tmp/env/bin
New python executable in /tmp/env/bin/python
Installing setuptools, pip...done.
その後、virtualenvは新しい環境をインストールする前にパスを消去します。
更新動作が必要な場合、(たとえば)bin/python)が存在する場合、virtualenvをスキップできます。
# [ ! -x /tmp/env/bin/python ] && virtualenv /tmp/env
これは、virtualenvディレクトリを(プロジェクトとともに)新しい場所に移動した後の状況で発生しました(マニュアルを読むと)ハードコーディングされたパスが含まれているとマニュアルに明確に記載されているため、私は明らかにすべきではありませんでした環境で。
Bin /、include /、lib /、lib64 /ディレクトリを削除してから、virtualenvを再作成すると、問題が解決しました。
私は環境内のフルパスを検索して修正することを検討しましたが、どこでも(bin/activate *ファイル内で)修正するのは簡単なことではありませんでした。
私はMac OSを使用していますが、mkvirtualenv --system-site-packages XXXX
とは対照的に mkvirtualenv XXXX
。
ランニング pip install -r requirements.txt
仮想環境でAttributeError: 'module' object has no attribute 'wraps'
前にあり、もうありません。