使用python 2.7导入hashlib时出错,但不能导入2.6

 温尧乔761975 发布于 2023-02-12 17:33

我在Solaris 10(x86)上.

到现在为止,我使用的是python2.6.今天,我安装了python2.7,在2.7上导入hashlib时发生了一个奇怪的错误,但在2.6上没有:

Python 2.6:

root@myserver [PROD] # python2.6 -c "import hashlib"
root@myserver [PROD] # 

Python 2.7:

root@myserver [PROD] # python2.7 -c "import hashlib"
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/hashlib.py", line 139, in 
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5
ERROR:root:code for hash sha1 was not found.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/hashlib.py", line 139, in 
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha1
ERROR:root:code for hash sha224 was not found.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/hashlib.py", line 139, in 
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha224
ERROR:root:code for hash sha256 was not found.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/hashlib.py", line 139, in 
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha256
ERROR:root:code for hash sha384 was not found.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/hashlib.py", line 139, in 
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha384
ERROR:root:code for hash sha512 was not found.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/hashlib.py", line 139, in 
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha512

我不明白为什么我有这个错误,因为我正在尝试导入相同的机器.

在此先感谢您的帮助!

3 个回答
  • 对我来说同样的错误.我的情况是复制virtenv在新服务器上给我这个错误.默认的python正在运行.

    我用了

    python2.7 -v -c "import hashlib" 2> output.txt
    

    你应该看到下面的这一行output.txt:

    import hashlib # precompiled from hashlib.pyc
    dlopen("/path/to/virtenv/lib/python2.7/lib-dynload/_hashlib.so", 2);
    
    ldd /path/to/virtenv/lib/python2.7/lib-dynload/_hashlib.so
    ...
       libssl.so.0.9.8 => not found
       libcrypto.so.0.9.8 => not found
    ...
    

    所以我所做的只是:

    cp /usr/lib/python2.7/lib-dynload/_hashlib.so /*path-to-virtenv*/manager/lib/python2.7/lib-dynload/_hashlib.so
    

    2023-02-12 17:35 回答
  • python2.7包依赖于libssl1_0_0包(openssl_1.0运行时库).

    我安装了它,并/usr/local/ssl/lib$LD_LIBRARY_PATHenvironnent变量中添加了目录.

    现在它完美无缺!:)

    2023-02-12 17:35 回答
  • 您可以使用以下命令并检查缺少哪些库,

    ldd /path/to/Python-Library/_hashlibmodule.so
    

    例如

    ldd /usr/local/lib/python2.7/_hashlibmodule.so
    

    如果得到如下所示的输出,则意味着您缺少必要的openssl库

        linux-vdso.so.1 =>  (0x00007fffd6f6a000)
        libssl.so.6 => not found
        libcrypto.so.6 => not found
        libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007ffb18b54000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ffb18937000)
        libc.so.6 => /lib64/libc.so.6 (0x00007ffb185a2000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007ffb1839e000)
        libutil.so.1 => /lib64/libutil.so.1 (0x00007ffb1819b000)
        libm.so.6 => /lib64/libm.so.6 (0x00007ffb17f16000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003e0a000000)
    

    2023-02-12 17:35 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有