2013-07-19 58 views
0

我正在運行Enthought Canopy,python版本爲2.7.3,並且在使用模塊MySQLdb時遇到困難。我從雨棚包管理器安裝MySQL_Python 1.2.3,但是當我運行我的代碼,我得到林冠版MySQLdb

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/') 

一旦我做到這一點,它的工作原理。有沒有人有更持久的解決方案,我不必每次都實施?

回答

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的配置。

+0

可能要將您的評論引導至Roman C.作爲他的回答下的評論。 – hichris123