2010-11-17 13 views
5

Tôi vừa mới cài đặt Python 2.6.6 từ các nguồn và những gì tôi nhận được:Python và mô-đun hashlib

>>> import hashlib 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.6/hashlib.py", line 136, in <module> 
    md5 = __get_builtin_constructor('md5') 
    File "/usr/local/lib/python2.6/hashlib.py", line 63, in __get_builtin_constructor 
    import _md5 
ImportError: No module named _md5 
+0

Bạn có chắc chắn rằng bạn có tất cả các bản cập nhật cho phiên bản python này? Có lẽ bạn đang sử dụng cái gì đó không được chấp nhận. Tôi đã thử nhập hashlib. dir (hashlib._md5). với kết quả tiêu cực. Thử cài đặt lại? – inspectorG4dget

+0

@ inspectorG4dget: nó đã được cài đặt cách đây 10 phút. Điều tương tự trong python 2.6 và 2.7 – zerkms

+0

Bạn đang biên soạn và/hoặc nền tảng nào? Tôi đã thấy rằng khi thực hiện một biên dịch chéo, hashlib là điều có khả năng nhất để phá vỡ. –

Trả lời

7

Cài đặt openssl-dev và xây dựng lại.

0

Tôi vừa thử nghiệm này trên cài đặt 2.6.6 của tôi và tôi đã không có vấn đề như vậy. Bạn có thể muốn thử cài đặt lại. Ngoài ra, tôi không chắc liệu mô-đun hashlib có thể được cài đặt riêng, nhưng bạn cũng có thể thử nó.

Ngoài ra, bạn có thể thử nhập các hàm cụ thể từ hashlib và cung cấp đầu ra không?

>>> from hashlib import sha512 

vì nếu bạn không cần MD5, bạn có thể tránh được sự cố.

+1

nó đã được cài đặt cách đây 10 phút. Tôi không thấy bất kỳ lý do nào để cài đặt lại có thể giúp – zerkms

0

Bạn nên có md5.so ở đâu đó, nếu nó không nằm trên đường dẫn python của bạn, tôi nghĩ nó có thể gây ra vấn đề này. Tôi đã gặp phải vấn đề này trước đây.

Hãy cho tôi biết nếu điều này có ích.

+0

Bạn có chắc chắn 'md5.so' là tên chính xác không? – zerkms