如何在OSX 10.6中使用MySQLdb和Python和Django?

2024-05-18 05:51:17 发布

您现在位置:Python中文网/ 问答频道 /正文

这是OSX10.6用户经常讨论的问题,但我还没有找到一个有效的解决方案。这是我的设置:

Python 2.6.1 64位 Django 1.2.1公司 MySQL 5.1.47 osx10.6 64位

我创建了一个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

我也安装了MySQL for Python适配器,但没有用(可能是安装不正确?)。

以前有人处理过吗?


Tags: djangoinpyimportlibpackageslinesite
3条回答

除了回答其他问题外,以下内容还帮助我完成了mysql python的安装:

virtualenv, mysql-python, pip: anyone know how?

在Ubuntu上。。。

apt-get install libmysqlclient-dev
apt-get install python-dev
pip install mysql-python

如果您没有适当的权限,请不要忘记将“sudo”添加到命令的开头。

运行Ubuntu,我必须做:

sudo apt-get install python-mysqldb

我也犯了同样的错误,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

相关问题 更多 >