mw_*_*guy 10 python mysql django macos osx-snow-leopard
我是学习Python/Django的新手......
我正在使用此处的以下教程.
在Snow Leopard上运行的MySQL 5中创建了一个mysite数据库.
编辑settings.py文件如下所示:
DATABASE_ENGINE = 'mysql'
DATABASE_NAME = 'mysite'
DATABASE_USER = 'root'
DATABASE_PASSWORD = ''
DATABASE_HOST = ''
DATABASE_PORT = ''
Run Code Online (Sandbox Code Playgroud)
现在,当我运行以下命令时:
python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
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
Run Code Online (Sandbox Code Playgroud)
我可能做错了什么?
编程愉快......
Jos*_*man 14
sudo easy_install mysql-python
Run Code Online (Sandbox Code Playgroud)
将安装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
Run Code Online (Sandbox Code Playgroud)
将你带入当前安装的django(你可以指定哪个版本,例如django == 1.1.1)和安装了MySQLdb模块的virtualenv.使用virtualenv将允许您为不同的项目提供单独的环境,因此您可以安装不同的模块,甚至可以为不同的项目使用这些模块(或Python)的不同版本.离开你virtualenv只需输入命令
deactivate
Run Code Online (Sandbox Code Playgroud)
或者,切换到环境'foo'类型
workon foo
Run Code Online (Sandbox Code Playgroud)
您还应该,如果您要使用virtualenv将这三行添加到〜/ .bash_profile(在OS X上,〜/ .bashrc一般在Linux上):
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
Run Code Online (Sandbox Code Playgroud)
Van*_*ale 12
问题是你缺少与MySQL接口的Python模块.
请参阅Django文档以获取正在运行的数据库,这些文档进一步指向MySQL注释.
但是,如果您只是阅读本教程,那么使用内置于Python的SQLite后端会更容易.不需要驱动程序,服务器等.
| 归档时间: |
|
| 查看次数: |
20792 次 |
| 最近记录: |