获取"加载MySQLdb模块时出错:没有名为MySQLdb的模块" - 尝试过以前发布的解决方案

Joe*_*Joe 256 python mysql django virtualenv virtualenvwrapper

对于OSX 10.6用户来说,这是一个备受争议的问题,但我找不到有效的解决方案.这是我的设置:

Python 2.6.1 64bit Django 1.2.1 MySQL 5.1.47 osx10.6 64bit

我用--no-site-packages创建了一个virtualenvwrapper,然后安装了Django.当我激活virtualenv并运行python manage.py syncdb时,我收到此错误:

Traceback (most recent call last):
File "manage.py", line 11, in <module>
  execute_manager(settings)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
  utility.execute()
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 257, in fetch_command
  klass = load_command_class(app_name, subcommand)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 67, in load_command_class
  module = import_module('%s.management.commands.%s' % (app_name, name))
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
  __import__(name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/commands/syncdb.py", line 7, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/sql.py", line 5, in <module>
from django.contrib.contenttypes import generic
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/contrib/contenttypes/generic.py", line 6, in <module>
  from django.db import connection
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/__init__.py", line 75, in <module>
  connection = connections[DEFAULT_DB_ALIAS]
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 91, in __getitem__
  backend = load_backend(db['ENGINE'])
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 32, in load_backend
  return import_module('.base', backend_name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
  __import__(name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/backends/mysql/base.py", line 14, in <module>
  raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
Run Code Online (Sandbox Code Playgroud)

我也安装了MySQL for Python适配器,但无济于事(也许我安装不正确?).

以前有人处理过这个吗?

Cli*_*int 330

我有同样的错误并pip install MySQL-python为我解决了.

备用安装:

  • 如果你没有pip,easy_install MySQL-python应该工作.
  • 如果您的python由打包系统管理,您可能必须使用该系统(例如sudo apt-get install ...)

下面,Soli指出,如果您收到以下错误:

EnvironmentError: mysql_config not found

...那么你还有一个系统依赖问题.解决这个问题因系统而异,但对于Debian派生系统:

sudo apt-get install python-mysqldb

  • `$ mysql_config`目前没有安装程序'mysql_config'.您可以通过t yping安装它:`sudo apt-get install libmysqlclient-dev` (20认同)
  • 在Fedora 17下:`sudo yum install MySQL-python` :) (6认同)
  • +1 pip安装MySQL-python为我修复,谢谢 (4认同)
  • 是的,我使用Synaptic Package Manager来搜索mysql-python并安装它并且工作得很好.谢谢. (2认同)

小智 61

运行Ubuntu,我必须这样做:

sudo apt-get install python-mysqldb
Run Code Online (Sandbox Code Playgroud)

  • 这也不会把它放在virtualenv中 (8认同)
  • 他正在运行OS X,而不是Ubuntu (7认同)

MrO*_*les 58

添加到其他答案,以下帮助我完成安装mysql-python:

virtualenv,mysql-python,pip:谁知道怎么样?

在Ubuntu上......

apt-get install libmysqlclient-dev
apt-get install python-dev
pip install mysql-python
Run Code Online (Sandbox Code Playgroud)

如果您没有适当的权限,请不要忘记在命令的开头添加"sudo".


DàC*_*hún 22

尝试以下命令.他们为我工作:

brew install mysql-connector-c 
pip install MySQL-python
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢,请尝试以上所述.没有在OSX 10.11上工作的人期待这一点 (2认同)

tou*_*can 19

mysql_config必须在路上.在Mac上,做

export PATH=$PATH:/usr/local/mysql/bin/
pip install MySQL-python
Run Code Online (Sandbox Code Playgroud)

  • 我试过这个并且仍然得到同样的错误:'raise ImproperlyConfigured("加载MySQLdb模块时出错:%s"%e)django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:没有名为MySQLdb的模块' (4认同)

Sol*_*oli 14

pip install mysql-python
Run Code Online (Sandbox Code Playgroud)

提出错误:

EnvironmentError:找不到mysql_config

sudo apt-get install python-mysqldb
Run Code Online (Sandbox Code Playgroud)

解决了这个问题.


Dou*_*las 10

我是如何工作的:

virtualenv -p python3.5 env/test
Run Code Online (Sandbox Code Playgroud)

在采购我的环境之后:

pip install pymysql
pip install django
Run Code Online (Sandbox Code Playgroud)

然后,我运行了startproject并在manage.py中,我添加了这个:

+ try:
+     import pymysql
+     pymysql.install_as_MySQLdb()
+ except:
+     pass
Run Code Online (Sandbox Code Playgroud)

另外,更新了这个内部设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'foobar_db',
        'USER': 'foobaruser',
        'PASSWORD': 'foobarpwd',
    }
}
Run Code Online (Sandbox Code Playgroud)

我也configparser==3.5.0安装在我的virtualenv中,不确定是否需要...

希望能帮助到你,


Raf*_*fay 8

以下对我来说非常有效,运行Ubuntu 13.10 64位:

sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev
Run Code Online (Sandbox Code Playgroud)

现在,导航到您的virtualenv(例如env文件夹)并执行以下操作:

sudo ./bin/pip install mysql-python
Run Code Online (Sandbox Code Playgroud)

我实际上在一个单独的问题中找到了解决方案,我在下面引用它:

如果您使用--no-site-packages开关(默认)创建了virtualenv,则虚拟环境包中不包含系统范围的已安装添加项(如MySQLdb).

您需要使用随virtualenv安装的pip命令安装MySQLdb.使用bin/activate脚本激活virtualenv,或者使用virtualenv中的bin/pip在本地安装MySQLdb库.

或者,使用--system-site-package开关创建包含系统站点包的新virtualenv.

我认为这也适用于OSX.唯一的问题是获得一个等效的安装命令libmysqlclient-dev,python-dev因为mysql-python我需要编译它们 .

希望这可以帮助.

  • 谢谢!您需要使用随virtualenv安装的pip命令安装MySQLdb. - 帮助 (2认同)

err*_*hpd 8

试试这个:这解决了我的问题.

pip安装MySQL-python

  • 谢谢.这可以解决我的问题与heroku和cleardb:点燃django 1.7.1. (2认同)

Joe*_*Joe 7

此问题是MySQL for Python适配器安装不完整/不正确的结果.具体来说,我必须编辑mysql_config文件的路径以指向/ usr/local/mysql/bin/mysql_config - 本文将对此进行更详细的讨论:http://dakrauth.com/blog/entry/python-and- Django的设置-MAC-OS-X-豹/


Mau*_*agu 7

sudo apt-get install python-mysqldb 在ubuntu中完美运行

pip install mysql-python引发环境错误


Roh*_*kar 5

这适用于Red Hat Enterprise Linux Server 6.4版

sudo yum install mysql-devel
sudo yum install python-devel
pip install mysql-python
Run Code Online (Sandbox Code Playgroud)