【发布时间】:2011-06-14 00:07:49
【问题描述】:
我对 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
>>>
我做错了什么?
【问题讨论】:
-
看来您并没有做错什么。我在 Ubuntu 上使用 apt 安装了该软件包,并且使用 Python 2.6 没有问题。 (你为什么使用 Python 的 v2.4?)该模块是从 /usr/lib/pymodules/python2.6/M2Crypto 加载的,其中有一个 __m2crypto.so 文件。我在 /usr/share/pyshared/M2Crypto 中找到了另一个 M2Crypto 副本,那里没有 .so 文件。
-
感谢阿帕拉拉的反馈。我运行 Python 2.4 是因为这是 CentOS 的默认设置,而且很多 CentOS 工具都期望我读过的 Python 2.4。 M2Crypto 文档说它确实使用 2.4 运行。
-
您始终可以安装较新版本的 python(默认安装到 /usr/local/bin/)并让您的脚本在该路径引用 Python。这样你就可以为你的系统 python 和你的开发/部署 python 拥有单独的模块目录。当你配置你的 python 源时,只需设置 --prefix=/usr/local/ (默认情况下它会这样做,但是......你可以随意制作......)
标签: python installation centos