MySQLdb的Canopy版本

时间:2013-07-19 00:17:45

标签: python mysql-python enthought canopy

我正在运行Enthought Canopy,python版本2.7.3,并且使用模块MySQLdb时遇到了困难。我从Canopy包管理器安装了MySQL_Python 1.2.3,但是当我运行我的代码时,我得到了

  File "pyfits_test.py", line 2, in <module>
    import MySQLdb as mdb
  File "/home/cmessick/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: libssl.so.6: cannot open shared object file: No such file or directory

我的代码的第2行简单地说

import MySQLdb as mdb

我也试过

from MySQL_python import MySQLdb as mdb

得到了

Traceback (most recent call last):
  File "pyfits_test.py", line 2, in <module>
    from MySQL_python import MySQLdb as mdb
ImportError: No module named MySQL_python

有没有人建议使用Enthought Canopy与MySQLdb一起工作?

编辑:不确定是否重要,但我正在运行Ubuntu 12.04。

第二次编辑:我想出了如何添加到模块搜索路径,所以在我的代码开头之前我还有其他任何东西:

import sys
sys.path.append('/usr/lib/python2.7/dist-packages/')

一旦我这样做,它就有效。有没有人有更永久的解决方案,我不必每次都实施?

1 个答案:

答案 0 :(得分:0)

现在这是一个老问题,但我在Ubuntu 13.10上遇到了与EPD 7.3-2 64位(不是Canopy)相同的问题。以下方法为我解决了这个问题:

cd /path/to/epd/lib
sudo ln -s libcrypto.so libcrypto.so.6
sudo ln -s libssl.so libssl.so.6

在此更改之后,您应该能够导入MySQLdb。

在“修复”中,您似乎正在将系统python dist-packages目录添加到您的EPD python搜索路径中;一般来说,你可能不想这样做。使用enpkg来管理你的EPD安装,不要让你的EPD python安装依赖于你的系统python的配置。