2015-05-31 36 views
1

我正在試驗IDLE3以連接到MySQl數據庫。該生產線 import MySQLdb生成錯誤消息:可以通過Python版本3.4從IDLE3訪問MySQLdb嗎?

ImportError: No module named 'MySQLdb'

我使用Linux(Ubuntu的14.04)

Python的存在我的電腦上兩個版本。一個版本:Python 2.7.6。導入「MySQLD」的能力適用於此版本的Python。

另一個版本是Python 3.4.0。此版本無法導入「MySQLD」。

雖然我知道有兩個版本,但我並不知道輸入文本「python」本身會給你Python版本2.7.6。我的意圖,與IDLE3是與Python版本3.4.0。我在下面的回覆中根據holdenweb提供的線索實現了我的監督。

基於進一步的互聯網搜索,Ubuntu至少存在一個解決方案。

回答

1

對於Ubuntu的用戶,確實存在解決方案。進入新立得包管理器並找到包「python3-mysql.connector」版本1.1.6-1。它也可以從Ubuntu軟件中心獲得。這是一個到MySQL的Python 3.4.0連接。我不知道這是否是最新版本。

此外回顧:Connecting to MySQL Using Connector/Python

還爲Python版本的Python 2.7.6更新Python的連接。 Connector/Python 2.0.4。我擺弄這個連接器,但顯然它與Python 3.4.0不兼容。

1

問題似乎是IDLE和Python沒有使用完全相同的環境。變量sys.path包含Python解釋器將搜索它要求導入的庫的目錄列表。如果你在一個普通的Python解釋器中執行以下代碼,並在IDLE你應該看到一些差異:

import sys 
print "\n".join(sys.path) 

你可以找出MySQLdb庫住在導入它,然後做哪些目錄

print MySQLdb.__file__ 

如果該目錄未出現在sys.path中,則需要添加它。通常的做法是設置PYTHONPATH環境變量。你可以在Python文檔中找到如何爲你的特定環境設置它。

+0

謝謝。你的打印聲明給了我:「/usr/lib/python2.7/dist-packages/MySQLdb/__init__.pyc」,它披露我無意中使用了2.7版本。我原以爲我在使用3.4版本。原來,必須輸入python3才能真正使用該版本。 –

+0

很高興你把它整理出來 – holdenweb

+0

如果你還想使用空閒,你也可能會發現你有'idle3'命令。 – holdenweb

相關問題