gpt4 book ai didi

python - Django manage.py syncdb 抛出没有名为 MySQLdb 的模块

转载 作者:IT王子 更新时间:2023-10-28 23:45:50 26 4
gpt4 key购买 nike

我是一个学习 Python/Django 的新手...

我正在使用位于 here 的以下教程.

在 Snow Leopard 上运行的 MySQL 5 中创建了一个 mysite 数据库。

将 settings.py 文件编辑为如下所示:

DATABASE_ENGINE = 'mysql'        
DATABASE_NAME = 'mysite'
DATABASE_USER = 'root'
DATABASE_PASSWORD = ''
DATABASE_HOST = ''
DATABASE_PORT = ''

现在当我运行以下命令时:

python manage.py syncdb

我收到以下错误:

Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/django/core/management/__init__.py", line 362,
in execute_manager
utility.execute()
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/django/core/management/__init__.py", line 303,
in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/django/core/management/base.py", line 195, in
run_from_argv
self.execute(*args, **options.__dict__)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/django/core/management/base.py", line 221, in
execute
self.validate()
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/django/core/management/base.py", line 249, in
validate
num_errors = get_validation_errors(s, app)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/django/core/management/validation.py", line
22, in get_validation_errors
from django.db import models, connection
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/django/db/__init__.py", line 41, in <module>
backend = load_backend(settings.DATABASE_ENGINE)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
/django/db/__init__.py", line 17, in load_backend
return import_module('.base', 'django.db.backends.%s' %backend_name)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages /django/db/backends/mysql/base.py", line 13, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb
module: No module named MySQLdb

我可能做错了什么?

编程愉快...

最佳答案

sudo easy_install mysql-python

将安装 MySQLdb 模块以允许您从 Python 使用 MySQL,或者,如果您想使用 virtualenv(您应该这样做),

sudo easy_install virtualenv virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export PIP_VIRTUALENV_BASE=$WORKON_HOME
source /usr/local/bin/virtualenvwrapper_bashrc
mkvirtualenv mysite
pip install mysql-python django

会将您放入当前安装 django 的 virtualenv 中(您可以指定哪个版本,例如 django==1.1.1)和安装的 MySQLdb 模块。使用 virtualenv 将允许您为不同的项目拥有不同的环境,这样您就可以安装不同的模块,甚至可以为不同的项目使用这些模块(或 Python)的不同版本。离开你 virtualenv 只需输入命令

deactivate

或者,切换到环境'foo'类型

workon foo

如果您要使用 virtualenv,您还应该将这三行添加到您的 ~/.bash_profile(在 OS X 上,通常在 Linux 上是 ~/.bashrc):

export WORKON_HOME=$HOME/.virtualenvs # where virtualenvs should be created
export PIP_VIRTUALENV_BASE=$WORKON_HOME # tells pip where to look for virtualenvs
source /usr/local/bin/virtualenvwrapper_bashrc # bash completion and wrapper functions for virtualenv

关于python - Django manage.py syncdb 抛出没有名为 MySQLdb 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1746863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com