[英]ImportError: No module named MySQLdb
我指的是以下教程來為我的 Web 應用程序創建一個登錄頁面。 http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982
我遇到了數據庫問題。 我得到一個
ImportError: No module named MySQLdb
當我執行
http://127.0.0.1:5000/testdb
我已經嘗試了所有可能的安裝python mysql的方法,教程中提到的一種,easy_install,sudo apt-get install。
我已經在我的虛擬環境中安裝了 mysql。 我的目錄結構與教程中解釋的相同。 該模塊已成功安裝在我的系統中,但我仍然收到此錯誤。
請幫忙。 這可能是什么原因造成的。
或者試試這個:
apt-get install python-mysqldb
你可以試試
pip install mysqlclient
我的問題是:
return __import__('MySQLdb')
ImportError: No module named MySQLdb
和我的決議:
pip install MySQL-python
yum install mysql-devel.x86_64
一開始,我只是安裝了 MySQL-python,但問題仍然存在。 所以我認為如果這個問題發生了,你也應該考慮 mysql-devel 。 希望這可以幫助。
我在研究 SQLAlchemy 時遇到了這個問題。 SQLAlchemy for MySQL 使用的默認方言是mysql+mysqldb
。
engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')
執行上述命令時出現“ No module named MySQLdb
”錯誤。 為了修復它,我安裝了mysql-python
模塊並且問題得到了修復。
sudo pip install mysql-python
所以我花了大約 5 個小時試圖弄清楚在嘗試運行時如何處理這個問題
./manage.py makemigrations
使用 Ubuntu Server LTS 16.1、完整的 LAMP 堆棧、Apache2 MySql 5.7 PHP 7 Python 3 和 Django 1.10.2,我真的很難找到一個好的答案。 事實上,我仍然不滿意,但唯一對我有用的解決方案是......
sudo apt-get install build-essential python-dev libapache2-mod-wsgi-py3 libmysqlclient-dev
其次是(從虛擬環境內部)
pip install mysqlclient
當我嘗試設置新的 Web 服務器時,我真的不喜歡必須使用開發安裝,但不幸的是,這種配置是我可以采用的唯一最舒服的路徑。
根據我的經驗,這也取決於 Python 版本。
如果您使用的是 Python 3,@DazWorrall 的回答對我來說效果很好。
但是,如果您使用的是 Python 2,則應該
sudo pip install mysql-python
這將安裝“MySQLdb”模塊,而無需更改 SQLAlchemy URI。
在 ubuntu 20 中,你可以試試這個:
sudo apt-get install libmysqlclient-dev
sudo apt-get install gcc
pip install mysqlclient
雖然@Edward van Kuik的回答是正確的,但它沒有考慮virtualenv v1.7 及更高版本的問題。
特別是在 Ubuntu 上通過apt
安裝python-mysqldb
將其放在/usr/lib/pythonX.Y/dist-packages
下,但默認情況下此路徑不包含在 virtualenv 的sys.path
中。
因此,要解決這個問題,您應該通過運行以下命令來使用系統包創建您的 virtualenv:
virtualenv --system-site-packages .venv
yum install MySQL-python.x86_64
為我工作。
對於帶有 python3 的 Ubuntu 20.04
sudo apt-get install python3-mysqldb
默認情況下,這對我有用
engine = create_engine('mysql://username:password@your_host/your_dbname')
或者
pip install pymysql
create_engine('mysql://...
有很多與權限相關的錯誤,什么不是。 你可能想試試這個:
xcode-select --install
sudo apt-get install python-mysqldb
這是我所做的:
首先,安裝一個python包: pip3 install PyMySQL
然后將以下代碼行添加到您的項目中:
import pymysql
pymysql.install_as_MySQLdb()
現在這應該可以解決您的問題,以下是可選的,適用於使用 SqlAlchemy 連接到 mysql 服務器的任何人:
將engine = create_engine("mysql://YOURMYSQLURL")
替換為: engine = create_engine("mysql+pymysql://YOURMYSQLURL")
當我托盤構建 python flask eccomerce web-application 時,我遇到了這種類型的錯誤
ModuleNotFoundError:沒有名為“MySQLdb”的模塊?
我托盤查看安裝在我的窗口 10 上的 python 版本
這是python 3.10
所以 MYSQL-PYTHON 兼容其他版本的 python 3.8
我刪除了 python 3.10 並安裝了 python 3.8 版本
變好了!
蟒蛇--版本
3.8
點子--版本
蟒蛇3.8
所以安裝連接器
點安裝 MYSQL-PYTHON
安裝成功
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.