2011-03-04 77 views
3

我的设置:错误与配置Django的蟒蛇,在mysql的Mac OS 10.6.6

  • 的Mac OS 10.6.6 - x86_64的
  • 的MySQL 5.5.8
  • 的Python 2.7.1
  • 的Django通过easy_install的

我的情况1.2.5安装

  • 的mysql-python的:

    我一直在努力让我的设置工作。问题在于mysql-python界面。本来,我得到了类似的问题(在一个我与Django的有)在Python中的import语句:

    import MySQLdb 
    

    但我读这question/solution被证明成功修复它。 我安装了django,它工作的很好,但它与mysql接口有问题。 当我火了终端和类型:生成

    >> python manage.py dbshell 
    

    以下错误:

    回溯(最近通话最后一个): 文件 “manage.py”,第11行,在 execute_manager (设置) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/ init .py”,第438行,在execute_manager 实用程序中。执行() 文件“/ Library/Framewo rks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/init .py“,第379行,执行 self.fetch_command(subcommand).run_from_argv(self。的argv) 文件 “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/ INIT py” 为,线261,在fetch_command 克拉斯= load_command_class (app_name,subcommand) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/ init .py”,第67行,在load_command_class中 module = import_module('%s.management.commands。%s'%(app_name,name)) File“/ Library/Frameworks/Python .framework/Versions/2.7/lib/python2.7/site-packages/django/utils/importlib.py“,第35行,in import_module import(name) File”/Library/Frameworks/Python.framework/版本/ 2.7/lib/python2.7/site-packages/django/core/management/commands/dbshel​​l.py“,第4行,来自django.db的 导入连接,DEFAULT_DB_ALIAS 文件”/ Library/Frameworks/Python。 framework/Versions/2.7/lib/python2.7/site-packages/django/db/init .py“,line 77,in connection = connections [DEFAULT_DB_ALIAS] File”/Library/Frameworks/Python.framework/版本/ 2.7/lib/python2.7/site-packages/django/db/utils.py“,第92行,在getitem backend = load_backend(db ['ENGINE']) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/utils.py”,第33行, in load_backend return import_module('。基地',后端名称) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/importlib.py”,第35行,在import_module 导入(名称) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/mysql/base.py”,第14行,在 中raise raiselyconfigured(“加载MySQLdb模块时出错:%s“%e) django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:dlopen(/Users/adogc45/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6 -intel.egg-tmp/_mysql.so,2):未加载库:libmysqlclient.16.dylib 引用自:/Users/adogc45/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6 -intel.egg-tmp/_mysql.so 原因是:图片找不到

    现在,我不明白为什么在Python中导入模块不会引发错误,但在django中使用mysql接口。

    顺便说一句,我的settings.py看起来是这样的:

    DATABASES = { 
    'default': { 
        'ENGINE': 'mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 
    

    此外,图像实际上退出在.../MySQL_python-1.2.3-py2.7-MacOSX的-10.6-intel.egg- tmp

    所以,我不知道发生了什么事。

  • +0

    感谢彼得和elithrar内的指出两件事情我失踪(请参阅下面的答案)。这些解决了我的问题。 – adogc45 2011-03-12 17:59:58

    回答

    0

    尝试:

    DATABASES = { 
    'default': { 
        'ENGINE': 'django.db.backends.mysql', 
    

    ,而不是仅仅mysql,如果你正在运行的Django 1.2.5。

    +0

    我也建议安装[pip](http://pypi.python.org/pypi/pip)而不是easy_install,因为它可以更可靠一点。 – elithrar 2011-03-07 01:49:08

    +0

    嗨,谢谢!我将'mysql'改为'django.db.backends.mysql'以使其工作。 – adogc45 2011-03-12 17:58:02

    2

    我也有类似的问题,我通过包括(其中运行shell我〜目录魔术文件)在我的.bash_profile文件中这一行解决了发展计划: 出口DYLD_LIBRARY_PATH =在/ usr /本地/ MySQL的/ lib/ 其中有问题的libmysqlclient.16.dylib位于该目录中。

    但是,当我尝试在Apache中作为python wsgi模块运行时,无论我做什么,Apache都找不到libmysqlclient.16.dylib。我试过 sys.path.append('/ usr/local/mysql/lib') os.environ ['DYLD_LIBRARY_PATH'] ='/ usr/local/mysql/lib' 没有运气... 好像是Apache不读这个环境变量,在这种情况下也不python(它不读取我的.bash_profile文件)...帮助!

    +0

    嗨,谢谢,我不得不在我的.bash_profile中导出该路径! – adogc45 2011-03-12 17:57:04

    5

    出口DYLD_LIBRARY_PATH =在/ usr /本地/ MySQL的/ lib目录下:$ DYLD_LIBRARY_PATH

    或:

    pip install MySQL-python 
    pip install --upgrade MySQL-python 
    

    帮了我的virtualenv

    +1

    出口路径是为我工作的! – Civilian 2012-11-16 22:43:38