简体   繁体   English

VirtualEnv ImportError:没有名为 MySQLdb 的模块

[英]VirtualEnv ImportError: No module named MySQLdb

I am receiving the error: ImportError: No module named MySQLdb whenever I try to run my local dev server and it is driving me crazy.我收到错误: ImportError: No module named MySQLdb ,这让我发疯。 I have tried everything I could find online:我已经尝试了所有可以在网上找到的东西:

  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

I am running out of options and can't figure out why I continue to receive this error.我的选项用完了,无法弄清楚为什么我继续收到此错误。 I am attempting to run my local dev server from using Google App Engine on a macOS Sierra system and I am using python version 2.7.我试图在 macOS Sierra 系统上使用 Google App Engine 运行我的本地开发服务器,我使用的是 python 2.7 版。 I am also running: source env/bin/activate at the directory my project files are and am installing all dependencies there as well.我也在运行:在我的项目文件所在的目录中运行source env/bin/activate并且我也在那里安装所有依赖项。 My path looks like this:我的路径是这样的:

/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

Does anyone have further ideas I can attempt to resolve this issue?有没有人有进一步的想法我可以尝试解决这个问题?

When you are in the virtual env ( source venv/bin/activate ), just run in terminal:当您处于虚拟环境( source venv/bin/activate )中时,只需在终端中运行:

sudo apt-get install python3-mysqldb
sudo apt-get install libmysqlclient-dev
pip install mysqlclient

You don't have to import anything in your py files.您不必在 py 文件中导入任何内容。

The first one is just in case, but the other two work perfectly by themselves.第一个是为了以防万一,但其他两个可以完美地工作。

If you don't run libmysqlclient-dev , you won't be able to run any other mysql installation command while in the virtual environment.如果不运行libmysqlclient-dev ,则在虚拟环境中将无法运行任何其他 mysql 安装命令。

Turns out I had the wrong python being pointed to in my virtualenv.原来我在我的 virtualenv 中指向了错误的 python。 It comes preinstalled with its own default python version and so, I created a new virtualenv and used the -p to set the python path to my own local python path.它预装了自己的默认 python 版本,因此,我创建了一个新的 virtualenv 并使用-p将 python 路径设置为我自己的本地 python 路径。

In my project, with virtualenv, I just did在我的项目中,使用 virtualenv,我只是做了

pip install mysqlclient pip 安装mysqlclient

and like magic everything is ok就像魔法一样,一切都很好

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM