我曾在一段时间内发布过有关此错误的信息,但对此需要更多说明。
我目前正在Windows 10机器(运行Python3.4)上使用Visual Studio 2013构建Django Web应用程序。开始时,我一直在处理MySQL连接问题,为此我进行了mysqlclient pip-install。我创建了两个使用MySQL作为后端的项目,在安装mysqlclient之后,我可以通过当前正在处理的项目连接到数据库。当我打开第二个项目并尝试连接到数据库时,出现了同样的“ No Module named MySqlDB”错误。
现在,两个项目之间的区别在于,第一个项目不是在虚拟环境中创建的,而第二个项目是在虚拟环境中创建的。

因此,我推断出在Python虚拟环境中创建的项目无法连接到数据库。有人可以在这里帮助我解决此问题。我需要知道如何将mysqlclient模块加载到虚拟环境中,以便项目可以使用它。
谢谢

最佳答案

因此,我推断出在Python虚拟环境中创建的项目无法连接到数据库


鉴于virtualenv是Web应用程序部署的事实上的标准,这将非常令人惊讶(提示:我们使用virtualenvs维护并托管了数十个Django项目)。


  有人可以在这里帮助我解决此问题。我需要知道如何将mysqlclient模块加载到虚拟环境中,以便项目可以使用它


与任何python软件包相同的方式:创建venv(如果未完成),将其激活并点安装软件包:

bruno@bigb:~/Work/playground$ virtualenv venv
New python executable in venv/bin/python
Installing distribute.............................................................................................................................................................................................done.
Installing pip...............done.
bruno@bigb:~/Work/playground$ source venv/bin/activate
(venv)bruno@bigb:~/Work/playground$ pip install mysqlclient
Downloading/unpacking mysqlclient
  Downloading mysqlclient-1.3.6.tar.gz (78Kb): 78Kb downloaded
  Running setup.py egg_info for package mysqlclient

Installing collected packages: mysqlclient
  Running setup.py install for mysqlclient
    building '_mysql' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,3,6,'final',1) -D__version__=1.3.6 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -g
    In file included from /usr/include/python2.7/Python.h:8:0,
                     from _mysql.c:40:
    /usr/include/python2.7/pyconfig.h:1161:0: attention : « _POSIX_C_SOURCE » redéfini [enabled by default]
    /usr/include/features.h:164:0: note: ceci est la localisation d'une précédente définition
    /usr/include/python2.7/pyconfig.h:1183:0: attention : « _XOPEN_SOURCE » redéfini [enabled by default]
    /usr/include/features.h:166:0: note: ceci est la localisation d'une précédente définition
    gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib/x86_64-linux-gnu -lmysqlclient_r -lpthread -lz -lm -lrt -ldl -o build/lib.linux-x86_64-2.7/_mysql.so

Successfully installed mysqlclient
Cleaning up...
(venv)bruno@bigb:~/Work/playground$ python
Python 2.7.3 (default, Jun 22 2015, 19:33:41)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
pythonrc start
pythonrc done
>>> import MySQLdb
>>> >>> MySQLdb
<module 'MySQLdb' from '/home/bruno/Work/playground/venv/local/lib/python2.7/site-packages/MySQLdb/__init__.pyc'>

08-06 23:28