2015-12-04 12 views
11

Khi tôi cố gắng để nhập khẩu hashlib trong mọi hoàn cảnh, nó throws lỗi này:đối tượng 'frozenset' không callable

File "<stdin>", line 1, in <module> 
    File "build/bdist.macosx-10.11-intel/egg/hashlib.py", line 115, in <module> 
    """ 
TypeError: 'frozenset' object is not callable 

Bất kỳ ý tưởng làm thế nào tôi có thể giải quyết này? Tôi đang tạo lỗi này chỉ đơn giản bằng cách mở Terminal, chạy python và sau đó nhập import hashlib.

+0

Hãy thử từ một thư mục hoạt động khác. –

+0

Điều đó không hiệu quả. –

+0

Tôi đã sửa lỗi, trong đó tôi đã xóa một loạt các tệp hashlib.py. Tuy nhiên, bây giờ nó không được cài đặt và cố gắng để cài đặt nó với pip hoặc easy_install cho cùng một lỗi frozenset. –

Trả lời

8

Tôi đã có cùng một vấn đề ngày hôm qua, Hashlib chưa được cài đặt và cố gắng cài đặt nó bằng pip sẽ cho lỗi đó. Tôi đã sửa nó bằng cách cài đặt nó bằng easy_install.

Ngoài ra tôi đã phải cài đặt scipy và Microsoft Visual C++ Compiler for Python 2.7 trên Windows, họ được yêu cầu cho Hashlib

+4

lỗi tương tự. 'easy_install hashlib' đã giúp tôi –

2

Tôi có vấn đề này cài đặt hashlib trên OSX (El Capitan), sau một thất bại pip cài đặt của hashlib và tái attemp sử dụng easy_install . Sau sự kiện này, tôi đã có lỗi chỉ cần gọi pip, hãy để một mình tải hashlib.

Nguyên nhân là pip thêm một đường dẫn thư mục trứng xấu đến sys.path và PYTHONHOME tôi:

>>> import sys 
>>> print sys.path 
['', '/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg', '/Library/Python/2.7/site-packages/hashlib-20081119-py2.7-macosx-10.11-intel.egg', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC', '/Library/Python/2.7/site-packages'] 

Để khắc phục, bạn có thể xóa các tập tin tham chiếu trực tiếp, trong trường hợp của tôi:

rm /Library/Python/2.7/site-packages/hashlib-20081119-py2.7-macosx-10.11-intel.egg 

Tôi đã thử xóa chỉ tham chiếu thư mục, nhưng sau khi khám phá here để xác định tệp site.py và site_packages.py thuộc phiên bản python hiện tại của tôi, định nghĩa đường dẫn của bạn, sau đó xem nơi site_packages.py đang tải đường dẫn của nó từ đó xuất hiện thông số tham chiếu ific được bổ sung trực tiếp bởi pip? do đó, cách giải quyết duy nhất tôi có thể nghĩ đến là có khả năng mã hóa cứng một dòng ở cuối trang web.py để loại bỏ tham chiếu, mà tôi đã thấy trên các chủ đề khác.

Các vấn đề liên quan