簡體   English   中英

Python3 + MySql:加載 MySQLdb 模塊時出錯:沒有名為“MySQLdb”的模塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM