我需要为我的某个项目安装hashlib
,并使用easy_install hashlib
(如this Stack Exchange post所述)来执行此操作。但是,在我安装这个软件包之后,我根本无法使用pip。每当我使用pip
(如pip install
)键入命令时,都会收到以下错误消息:
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 37, in <module>
import email.parser
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/email/parser.py", line 12, in <module>
from email.feedparser import FeedParser
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/email/feedparser.py", line 27, in <module>
from email import message
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/email/message.py", line 16, in <module>
import email.charset
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/email/charset.py", line 13, in <module>
import email.base64mime
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/email/base64mime.py", line 40, in <module>
from email.utils import fix_eols
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/email/utils.py", line 27, in <module>
import random
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py", line 49, in <module>
import hashlib as _hashlib
File "build/bdist.macosx-10.13-intel/egg/hashlib.py", line 115, in <module>
"""
TypeError: 'frozenset' object is not callable
现在,当我使用easy_install
时出现同样的错误。我也无法卸载pip并重新安装 - 任何带有pip
的命令都会导致上述错误。甚至执行
pip --version
会产生相同的错误。我知道它与hashlib
包有关,但我不确定如何删除它并重新安装而不会弄乱我的整个Python配置。我的假设是我安装的hashlib
版本对于我的Python 2.7来说太旧或太新了,并且不能很好地适应它。
有没有人知道此堆栈跟踪中幕后的具体内容,以及我如何修复pip
?
最好还是从我的hashlib.py
文件夹中删除lib/python2.7
吗?
答案 0 :(得分:0)
所以,这并没有解决hashlib
的问题,但它确实让你再次工作pip
:从字面上下载并重新安装Python 2.7 from the source。如果有人想出一个更好,更优雅的解决方案来修复pip
,我就是全力以赴。
但是,至少我可以再次使用pip
...