每当我尝试运行本地开发服务器时,我都会收到错误:ImportError: No module named MySQLdb
,这让我发疯了。我尝试过在网上找到的所有东西:
brew install mysql
pip install mysqldb
pip install mysql
pip install mysql-python
pip install MySQL-python
easy_install mysql-python
easy_install MySQL-python
pip install mysqlclient
我的选项已用完,无法弄清楚为什么我会继续收到此错误。我试图运行我的本地开发服务器在macOS Sierra系统上使用Google App Engine,我使用的是python版本2.7。我也在我的项目文件所在的目录中运行source env/bin/activate
,并且还在那里安装所有依赖项。我的路径看起来像这样:
/usr/local/bin/python:/usr/local/mysql/bin:/usr/local/opt/node@6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin
有没有人有进一步的想法我可以尝试解决这个问题?
答案 0 :(得分:0)
原来我在virtualenv中指出了错误的python。它预装了自己的默认python版本,因此,我创建了一个新的virtualenv并使用-p
将python路径设置为我自己的本地python路径。
答案 1 :(得分:0)
在虚拟环境(source venv/bin/activate
)中时,只需在终端中运行:
sudo apt-get install python3-mysqldb
sudo apt-get install libmysqlclient-dev
pip install mysqlclient
您无需在py文件中导入任何内容。
第一个是为了以防万一,但是其他两个可以独立工作。
如果不运行libmysqlclient-dev
,则在虚拟环境中将无法运行任何其他mysql安装命令。