[英]Python3 + MySql: Error loading MySQLdb module: No module named 'MySQLdb'
我是 Python 新手,正在嘗試設置一個 Django 項目以使用 MySql。 我已經通讀了文檔以及關於該主題的其他一些 StackOverflow 帖子,但我仍然無法讓它工作。
當我嘗試在 Django 中運行遷移時,出現以下錯誤:
Error loading MySQLdb module: No module named 'MySQLdb'
我已經安裝了推薦的MySql Python 連接器 (2.0.1),選擇了 Ubuntu(因為我使用的是 Mint Linux)。 它安裝正確。 我仍然收到錯誤。 我不需要將此庫添加到項目或任何東西中,對嗎? 看起來python應該知道這一點並成功運行。 我能做什么? 謝謝。
編輯:我忘了說:我正在運行 Python 3.4 - 許多典型的解決方案仍在使用 2.7,所以它們不起作用,我嘗試過的所有 3.0 解決方案都沒有成功。
在 Ubuntu Server 16.04 上,現有的答案都不適合我,所以我跑了:
sudo apt-get install libmysqlclient-dev
sudo -H pip3 install mysqlclient
第一個命令為我獲取第二個命令所需的 mysql 配置。
pip install mysqlclient
對我有用 python3.5
我需要在 settings.py 中查看您的 DATABASES 配置,但看起來它正在嘗試加載 MySQLDB 而不是您安裝的 Mysql Python 連接器。 數據庫應如下所示:
DATABASES = {
'default': {
'NAME': 'mydatabase',
'ENGINE': 'mysql.connector.django',
'USER': 'myuser',
'PASSWORD': 'secretpassword',
'OPTIONS': {
'autocommit': True,
},
}
}
請注意 ENGINE 部分...它告訴 Django 使用 mysql 連接器而不是 MySQLDB...
此處提供更多信息: http : //bunwich.blogspot.com/2014/02/finally-mysql-connector-that-works-with.html http://dev.mysql.com/doc/connector-python/en/連接器-python-django-backend.html
如果您希望使用 South:
www.pythonanywhere.com/wiki/UsingMySQL
您可能需要注意 Oracle 連接器是 GPL,使用該代碼可能存在許可問題。 看這里:
groups.google.com/forum/#!topic/django-developers/8r_RVmUe5ys
Django 1.7 文檔建議使用 mysqlclient 驅動程序...
docs.djangoproject.com/en/1.7/ref/databases/--參見Mysql DB API Drivers部分
該客戶端的 pypi.python.org/pypi/mysqlclient...
-斯科特
如果您可以安裝 pymysql——這對我來說在 Python 3.4 上運行良好——然后將這些行添加到 Django 中的 manage.py 文件中:
try:
import pymysql
pymysql.install_as_MySQLdb()
except ImportError:
pass
這將使 pymysql 功能類似於 MySQLdb 並為我工作。
如果您像我一樣,正在使用 Linux 安裝,並且在大多數情況下 Linux 仍然需要 Python 2.7。 這意味着
pip install mysqlclient
將為 2.7 安裝 MySQL 客戶端,它是從 Python 3 分割出來的。要安裝 3.x,你需要使用
pip3 install mysqlclient
我不必安裝任何軟件包,但mysql-common
已經安裝(Raspbian 安裝),所以你的里程可能會有所不同
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.