VirtualEnv ImportError:没有名为MySQLdb的模块

时间:2018-02-05 07:39:04

标签: python mysql django pip mysql-python

每当我尝试运行本地开发服务器时,我都会收到错误:ImportError: No module named MySQLdb,这让我发疯了。我尝试过在网上找到的所有东西:

  1. brew install mysql
  2. pip install mysqldb
  3. pip install mysql
  4. pip install mysql-python
  5. pip install MySQL-python
  6. easy_install mysql-python
  7. easy_install MySQL-python
  8. pip install mysqlclient
  9. 我的选项已用完,无法弄清楚为什么我会继续收到此错误。我试图运行我的本地开发服务器在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

    有没有人有进一步的想法我可以尝试解决这个问题?

2 个答案:

答案 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安装命令。