2015-03-13 40 views
14

我在Fedora上。我最近將我的系統從F20升級到F21。 Pip在F20上工作正常,但在升級到F21之後,一定出了問題。皮普停止工作,我每次輸入命令時pip <anything>下面的錯誤發生:pip與AttributeError失敗:'模塊'對象沒有屬性'包裝'

嘗試了所有的解決方案,我可以沒有結果在望谷歌後
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' 
+0

你有兩個六個版本? – 2015-03-13 17:59:15

+0

我不確定。我如何去檢查沒有'pip list'? – Theja 2015-03-13 18:04:11

+0

'pip show six',你嘗試過'pip install -U six'嗎? – 2015-03-13 18:05:16

回答

13

好。我試圖冒險和玩一點點。這可能不是最安全的解決方案,但對我來說工作得很好。 鑑於python get-pip.py導致:

Requirement already up-to-date: pip in /usr/lib/python2.7/site-packages 

即使我已經PIP卸載。 我去了/usr/lib/python2.7/site-packages/找出兩個點子目錄:pip and pip-6.0.8.dist-info。立即刪除。然後再次嘗試python get-pip.py。瞧!有效。

+0

這也適用於我,但我必須從我的virtualenv中刪除現有的pip軟件包,而不是全局Python dist-packages。 – Cerin 2015-06-03 03:41:47

-1

這工作:

mv /usr/lib/python2.7/site-packages/pip* ./ 
yum reinstall python-pip 
1

這發生在我的情況我已經搬到後的virtualenv目錄(與項目一起)到一個新的位置,這我很清楚不應該做的(閱讀文檔現在)手冊明確指出環境中包含了一些[完整]硬編碼路徑。

刪除bin /,include /,lib /和lib64 /目錄,然後重新創建virtualenv解決了我的問題。

我確實研究過尋找並修復環境中的完整路徑,但是在任何地方修復它(除了bin/activate *文件之外)似乎並不重要。

3

happend我與ActiveState的Python的窗戶重新安裝 我只是用easy_install的降級畫中畫

easy_install pip==7.1.2 

,然後是工作....

+0

爲我工作!謝謝 :) – 2016-07-27 09:19:48

1

如果重新創建一個虛擬env,其中包含一個不同pip -version可以遇到這種情況:

# 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中出WITE路徑它安裝新環境之前。

如果您想要更新行爲,您可以跳過virtualenv(如果(例如)bin/python)存在。

# [ ! -x /tmp/env/bin/python ] virtualenv /tmp/env 
0

我在Mac OS,但是能這樣做mkvirtualenv --system-site-packages XXXX而不是mkvirtualenv XXXX修復此錯誤。

運行pip install -r requirements.txt在虛擬環境中給我AttributeError: 'module' object has no attribute 'wraps'之前,現在不再。

1

使用easy_install的安裝PIP

easy_install pip==7.0.2 

的先前版本,然後使用PIP安裝你下來的版本而來,在我的情況下,它是9.0.1

pip install pip==9.0.1 
相關問題