2012-01-01 5 views
0

업데이트 :이 게시물에 건너 온

는 :맥 OS는 X 10.6, MySQL은, MySQL을 - 파이썬, 장고

  1. 는 LD_LIBRARY_PATH

    에 MySQL 클라이언트 라이브러리를 추가 Python mysqldb on Mac OSX 10.6 not working 두 가지 옵션을 보았다 되는 mysql_config --libs -L/usr/지방/mysql을/lib에 -lmysqlclient -lpthread

그래서 여기서는 아무 것도 할 필요가 없습니다.

  1. 파이썬 2.7로 업그레이드 한 다음 mysqldb를 다시 설치하십시오.

문제 :

하여 성공적으로 장고를 설치하고 virtualenvs 환경을 실행하고 sqlite3를 가진 프로젝트를 생성. 대신 mysql을 사용하여 데이터베이스를 관리하려고했다.

settings.py

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': 'blog',      # Or path to database file if using sqlite3. 
     'USER': 'root',      # Not used with sqlite3. 
     'PASSWORD': 'root',     # Not used with sqlite3. 
     'HOST': 'localhost',      # Set to empty string for localhost. Not used with sqlite3. 
     'PORT': '',      # Set to empty string for default. Not used with sqlite3. 
    } } 

이 저를 밟은했습니다 수행 한 후 : 내가 얻을

sudo python manage.py runserver 

오류는 다음과 같습니다

Traceback (most recent call last): 
    File "manage.py", line 14, in <module> 
    execute_manager(settings) 
    File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager 
    utility.execute() 
    File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 379, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 209, in execute 
    translation.activate('en-us') 
    File "/Library/Python/2.6/site-packages/django/utils/translation/__init__.py", line 100, in activate 
    return _trans.activate(language) 
    File "/Library/Python/2.6/site-packages/django/utils/translation/trans_real.py", line 202, in activate 
    _active.value = translation(language) 
    File "/Library/Python/2.6/site-packages/django/utils/translation/trans_real.py", line 185, in translation 
    default_translation = _fetch(settings.LANGUAGE_CODE) 
    File "/Library/Python/2.6/site-packages/django/utils/translation/trans_real.py", line 162, in _fetch 
    app = import_module(appname) 
    File "/Library/Python/2.6/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/Users/james/Projects/current/code/blog/jamesapps/../jamesapps/tagging/__init__.py", line 3, in <module> 
    from tagging.managers import ModelTaggedItemManager, TagDescriptor 
    File "/Users/james/Projects/current/code/blog/jamesapps/../jamesapps/apps/tagging/__init__.py", line 3, in <module> 
    from tagging.managers import ModelTaggedItemManager, TagDescriptor 
    File "/Users/james/Projects/current/code/blog/blog/django-tagging/tagging/managers.py", line 5, in <module> 
    File "/Library/Python/2.6/site-packages/django/contrib/contenttypes/models.py", line 1, in <module> 
    from django.db import models 
    File "/Library/Python/2.6/site-packages/django/db/__init__.py", line 78, in <module> 
    connection = connections[DEFAULT_DB_ALIAS] 
    File "/Library/Python/2.6/site-packages/django/db/utils.py", line 93, in __getitem__ 
    backend = load_backend(db['ENGINE']) 
    File "/Library/Python/2.6/site-packages/django/db/utils.py", line 33, in load_backend 
    return import_module('.base', backend_name) 
    File "/Library/Python/2.6/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/Library/Python/2.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: dlopen(/Library/Python/2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib 
    Referenced from: /Library/Python/2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg/_mysql.so 
    Reason: image not found 

내 세투 P는 다음과 같습니다

Mac OS X 10.6.8 2x2Ghz Dual-Core Intel Xeon 
/usr/local/mysql/bin/mysql: Mach-O 64-bit executable x86_64 
/usr/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64 
/usr/bin/python (for architecture i386): Mach-O executable i386 
/usr/bin/python (for architecture ppc7400): Mach-O executable ppc 

~/.bash_profile에는

export PATH=/usr/local/mysql/bin:$PATH 
export EDITOR="$HOME/bin/mate -w" 
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/ 

이 들어 나는이 아무것도 표시되지 않습니다

python shell 
import MySQLdb 

을합니다.

난을 포함하여 다음 게시물과 페이지를 읽고 더 많은 :

<https://stackoverflow.com/questions/7335853/mysql-python-installation-problems-on-mac-os-x-lion> 
<https://stackoverflow.com/questions/1299013/problem-using-mysqldb-symbol-not-found-mysql-affected-rows> 
<http://friendlybit.com/tutorial/install-mysql-python-on-mac-os-x-leopard/> 

나는 다음 다음에 .dmg에서 다시 설치하여 MySQL의를 제거한 :

• Stop the database server 
• sudo rm /usr/local/mysql 
• sudo rm -rf /usr/local/mysql* 
• sudo rm -rf /Library/StartupItems/MySQLCOM 
• sudo rm -rf /Library/PreferencePanes/My* 
• edit /etc/hostconfig and remove the line MYSQLCOM=-YES- 
• rm -rf ~/Library/PreferencePanes/My* 
• sudo rm -rf /Library/Receipts/mysql* 
• sudo rm -rf /Library/Receipts/MySQL* 
• sudo rm -rf /private/var/db/receipts/*mysql* 

제거 된 mysql-python을 pip를 사용하여 소스에서 다시 컴파일하십시오 :

sudo ARCHFLAGS='-arch x86_64' python setup.py build 
sudo ARCHFLAGS='-arch x86_64' python setup.py install 

내가 잘못 가고있는 이유는 mysql 클라이언트가이 버전의 MySQL-python에 대해 잘못 구성 되었기 때문입니까?

답변

0

저는 보통 Mac에 Homebrew를 사용하여 MySQL을 설치합니다 (매우 힘든 과정입니다). "이미지를 찾을 수 없습니다"는 MySQL-Python을 다시 설치하지 않고 MySQL 버전을 업그레이드 한 직후에 본 이미지입니다.

brew install mysql 
pip install MySQL-python 
+0

답장을 보내 주셔서 감사합니다.하지만 실제로 내 문제에 대한 해결책을 찾았습니다. 오류 메시지를 이해 한 후에 libmysqlclient.18.dylib 파일에 대한 기호를 작성해야했습니다. sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib/usr/lib/libmysqlclient.18.dylib –

8

sudo를 에선 -s /usr/local/mysql/lib/libmysqlclient.18.dylib는/usr/lib 디렉토리 :

나의 추천, MySQL과 MySQL을 - 파이썬을 제거 Homebrew를 설치하고 실행하는 것입니다 /libmysqlclient.18.dylib