[python] OSX 10.6에서 Python 및 Django와 함께 MySQLdb를 사용하는 방법은 무엇입니까?

이것은 OSX 10.6 사용자에게 많이 논의 된 문제이지만 작동하는 솔루션을 찾지 못했습니다. 내 설정은 다음과 같습니다.

Python 2.6.1 64 비트 Django 1.2.1 MySQL 5.1.47 osx10.6 64 비트

–no-site-packages를 사용하여 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

또한 Python for MySQL 어댑터 설치 했지만 아무 소용이 없습니다 (부적절하게 설치했을 수 있습니까?).

전에이 문제를 처리 한 사람이 있습니까?



답변

나는 같은 오류가 있었고 pip install MySQL-python나를 위해 해결했다.

대체 설치 :

  • 핍이 없으면 효과가 easy_install MySQL-python있습니다.
  • 파이썬은 포장 시스템에 의해 관리되는 경우 (예를 들어, 해당 시스템을 사용해야 할 수도 있습니다 sudo apt-get install ...)

아래에서 Soli는 다음과 같은 오류가 발생할 경우 참고합니다.

EnvironmentError: mysql_config not found

… 추가 시스템 종속성 문제가 있습니다. 이를 해결하는 것은 시스템마다 다르지만 데비안에서 파생 된 시스템의 경우 :

sudo apt-get install python-mysqldb


답변

우분투를 실행하면서 나는해야했습니다.

sudo apt-get install python-mysqldb


답변

다른 답변에 추가하여 다음은 mysql-python 설치를 완료하는 데 도움이되었습니다.

virtualenv, mysql-python, pip : 누구나 방법을 알고 있습니까?

우분투에서 …

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

적절한 권한이 없으면 명령의 시작 부분에 ‘sudo’를 추가하는 것을 잊지 마십시오.


답변

아래 명령을 시도하십시오. 그들은 나를 위해 일합니다 :

brew install mysql-connector-c 
pip install MySQL-python


답변

mysql_config경로에 있어야합니다. Mac에서는

export PATH=$PATH:/usr/local/mysql/bin/
pip install MySQL-python


답변

pip install mysql-python

오류가 발생했습니다.

EnvironmentError : mysql_config를 찾을 수 없습니다

sudo apt-get install python-mysqldb

문제를 해결했습니다.


답변

내가 어떻게 작동 시키는가 :

virtualenv -p python3.5 env/test

내 환경을 소싱 한 후 :

pip install pymysql
pip install django

그런 다음 startproject를 실행하고 manage.py 내에서 다음을 추가했습니다.

+ try:
+     import pymysql
+     pymysql.install_as_MySQLdb()
+ except:
+     pass

또한이 내부 설정을 업데이트했습니다.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'foobar_db',
        'USER': 'foobaruser',
        'PASSWORD': 'foobarpwd',
    }
}

또한 configparser==3.5.0virtualenv에 설치했는지 여부를 확실하지 않습니다 …

도움이 되길 바랍니다.