我搜索了很多,并没有找到任何答案来解决这个问题=(
我有一个CentOS 5作为服务器,遵循以下方法: http://wiki.osqa.net/display/docs/RHEL%2C+CentOS+5+Installation+Guide#RHEL%2CCentOS5InstallationGuide-Python
我可以安装与yum版本分开的python 2.6。但是当我运行./easy_install ElementTree时,我得到了这个奇怪的错误:
Traceback (most recent call last):
File "./easy_install", line 9, in <module>
load_entry_point('distribute==0.6.14', 'console_scripts', 'easy_install')()
File "/opt/ActivePython-2.6/lib/python2.6/site-packages/pkg_resources.py", line 305, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/opt/ActivePython-2.6/lib/python2.6/site-packages/pkg_resources.py", line 2244, in load_entry_point
return ep.load()
File "/opt/ActivePython-2.6/lib/python2.6/site-packages/pkg_resources.py", line 1954, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools/command/easy_install.py", line 24, in <module>
from setuptools.package_index import PackageIndex
File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools/package_index.py", line 2, in <module>
import sys, os.path, re, urlparse, urllib2, shutil, random, socket, cStringIO
File "/opt/ActivePython-2.6/lib/python2.6/urllib2.py", line 93, in <module>
import hashlib
File "/opt/ActivePython-2.6/lib/python2.6/hashlib.py", line 136, in <module>
md5 = __get_builtin_constructor('md5')
File "/opt/ActivePython-2.6/lib/python2.6/hashlib.py", line 63, in __get_builtin_constructor
import _md5
ImportError: No module named _md5
我不懂python并且不知道如何解决这个问题,我正在尝试安装OSQA来为另一个国家运行phpBB支持论坛。
感谢您的帮助,最好的考虑。
答案 0 :(得分:1)
我猜之前在CentOS上遇到类似的问题,是新的Python的ld路径没有设置,它找不到它的可加载模块文件夹。
此博客文章中的第3个代码块显示为opt Python设置ld路径(虽然它是2.7):http://toey.tc20.net/2010/08/04/install-python-2-7-gevent-on-centos-5-x86_64/
我认为安装程序会在安装步骤中完成此操作,但上面的博客文章可能会有所帮助。
答案 1 :(得分:1)
我遇到了同样的问题,发现问题与_md5.so无关,但是hashlib无法在try块中导入_hashlib.so,然后转到另一个通常未使用的代码段(其中_md5问题出现了)。尝试:
import _hashlib.so
我有类似的东西:
ImportError: <PATH>/lib/python2.7/lib-dynload/_hashlib.so: cannot restore segment prot after reloc: Permission denied
我用Google搜索并发现http://www.quantumwise.com/forum/index.php?topic=16.0表示您需要这样做:
chcon -t texrel_shlib_t <PATH>/lib/python2.7/lib-dynload/_hashlib.so
这对我有用。
答案 2 :(得分:0)
Activepython 2.6似乎在其最新版本中存在一些问题。请检查以前的版本。
答案 3 :(得分:0)
我也遇到了和你一样的问题,我在添加了安装模块的python的lib路径后修复了它。
这实际上是由LD_LIBRARY_PATH
引起的,请尝试在您的LD_LIBRARY_PATH
中添加“/opt/ActivePython-2.6/lib”。
setenv LD_LIBRARY_PATH /opt/ActivePython-2.6/lib:$LD_LIBRARY_PATH
答案 4 :(得分:0)
归功于http://johnsofteng.wordpress.com/2009/06/21/python-importerror-no-module-named-_md5/
我在Redhat 6.4上遇到了类似的问题,python二进制(2.7.x)包是从其他已经安装的系统(从源代码构建)中复制的。
问题是_hashlib.so,它错过了libssl.so.0.9.8
bash-4.1# ldd /proj/application/tools/python2.7/lib/python2.7/lib-dynload/_hashlib.so
linux-vdso.so.1 => (0x00007fff51d6f000)
libssl.so.0.9.8 => not found
libcrypto.so.0.9.8 => /usr/lib64/libcrypto.so.0.9.8 (0x00007f9a69746000)
libpython2.7.so.1.0 => /proj/application/tools/python2.7/lib/libpython2.7.so.1.0 (0x00007f9a6936b000)
我只是安装错过的软件包和软件链接到库。
bash-4.1# yum install -y tar openssh-clients
bash-4.1# ln -s /usr/lib64/libssl.so.0.9.8e /usr/lib64/libssl.so.0.9.8
然后setuptool安装成功