我是CentOS的新手,我正在尝试在其上安装M2Crypto Python软件包。
我跑了:
sudo python setup.py install
似乎没问题:(这是输出结束)
removing 'build/bdist.linux-i686/egg' (and everything under it)
Processing M2Crypto-0.20.2-py2.4-linux-i686.egg
Removing /usr/lib/python2.4/site-packages/M2Crypto-0.20.2-py2.4-linux-i686.egg
Copying M2Crypto-0.20.2-py2.4-linux-i686.egg to /usr/lib/python2.4/site-packages
M2Crypto 0.20.2 is already the active version in easy-install.pth
Installed /usr/lib/python2.4/site-packages/M2Crypto-0.20.2-py2.4-linux-i686.egg
Processing dependencies for M2Crypto==0.20.2
但是我无法导入M2Crypto:
$ python
Python 2.4.3 (#1, Nov 11 2010, 13:34:43)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import M2Crypto
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "M2Crypto/__init__.py", line 22, in ?
import __m2crypto
ImportError: No module named __m2crypto
>>>
我做错了什么?
答案 0 :(得分:6)
我跑了:
python setup.py tests
并修复了它。它复制了一些文件,我认为这会导致lib放在正确的位置。
running test
running egg_info
writing M2Crypto.egg-info/PKG-INFO
writing top-level names to M2Crypto.egg-info/top_level.txt
writing dependency_links to M2Crypto.egg-info/dependency_links.txt
reading manifest file 'M2Crypto.egg-info/SOURCES.txt'
writing manifest file 'M2Crypto.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-i686-2.4/M2Crypto/__m2crypto.so -> M2Crypto
test_BitSTring (tests.test_asn1.ASN1TestCase) ... ok
.
.
.
答案 1 :(得分:4)
tests
不是有效目标,而是运行test
;这解决了我的问题。
答案 2 :(得分:2)
我刚刚在centos 6.2上遇到了同样的问题。
跑步测试也为我修好了。但是,当我查看网站包时,没有任何改变。运行setup.py test会在本地目录中构建m2crpyto。
这是问题的关键,要解决问题而不运行setup.py测试,请保留M2Crypto文件夹。它从本地文件夹中获取m2crypto,而不是找到鸡蛋。
答案 3 :(得分:1)
安装python模块时偶尔会发生这种情况。我有几件事要解决这个问题:
有时这是因为你从未设置过你的PYTHONPATH。尝试:
senv PYTHONPATH /usr/lib/python2.4/site-packages:$PYTHONPATH
有时这是因为在/ usr / lib中找到了共享库,你必须执行:
setenv LD_LIBRARY_PATH / usr / lib中:$ LD_LIBRARY_PATH
让我知道这对你有何影响。大部分时间只是因为你没有正确设置python路径。