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


259

이것은 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 어댑터 설치 했지만 아무 소용이 없습니다 (부적절하게 설치했을 수 있습니까?).

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


5
이 문제는 MySQL for Python 어댑터가 불완전하거나 잘못 설치되어 발생했습니다. 특히 / usr / local / mysql / bin / mysql_config를 가리 키도록 mysql_config 파일의 경로를 편집해야했습니다. dakrauth.com/blog/entry/…
Joe

---------- apt-get install python-mysqldb
shadow0359

pip install mysql나를 위해 일했다!
Ivan Carrasco Quiroz

답변:


330

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

대체 설치 :

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

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

EnvironmentError: mysql_config not found

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

sudo apt-get install python-mysqldb


2
예, Synaptic Package Manager를 사용하여 mysql-python을 검색하고 설치했으며 훌륭하게 작동했습니다. 감사.
Tomasz Iniewicz

6
페도라 17에서 : sudo yum install MySQL-python:)
g19fanatic

20
$ mysql_config'mysql_config'프로그램이 현재 설치되어 있지 않습니다. 다음을 입력하여 설치할 수 있습니다.sudo apt-get install libmysqlclient-dev
anders

1
이 답변을 django 공식 문서에 추가해야합니다
Siwei Shen 申思维

1
나는 'pip install MySQL-python'을 실행 한 후 'Command python setup.py egg_info가 오류 코드 1로 실패했습니다'라는 오류가있는 유일한 사람이라고 생각합니다.
RicardoGonzales

62

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

sudo apt-get install python-mysqldb

8
그는 OS X,하지 우분투 실행
파쿤도 카스코

8
또한 그것은 virtualenv에 두지 않을 것입니다
Twirrim

58

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

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

우분투에서 ...

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

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


1
열쇠는 apt-get install python-dev입니다. 2 년 후 파이썬의 개발자 버전을 설치하는 이유를 모르겠지만 오늘날 파이썬 2.7.3을 사용하는 경우 작동합니다. 3 시간 만 낭비했습니다.
user798719

23

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

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

이 방법은 내 문제를 해결했습니다. 이전의 다른 모든 제안은 다음과 같은 오류 메시지를 표시합니다.Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/r8/c_tscq492sn641w5vtvqcvkw0000gp/T/pip-build-JYY1du/MySQL-python
LearnAWK

2
감사합니다. 위에서 언급 한 모든 것을 시도하십시오. 없음이 기대 OSX 10.11에 일하지
Paullo

1
@LearnAWK 작동하지 않습니다. 난 여전히 오류 명령 "파이썬 setup.py egg_info"오류 코드 1로 실패에서 / 개인의 / var / 폴더 / 3m / 97mbsh5x2bnghhk55130bh_h0000gn / T / PIP-구축 FFU1vL / MySQL을 - 파이썬 /
스토니

19

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

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

4
나는 이것을 시도했지만 여전히 같은 오류가 발생합니다 : 'Raise ImproperlyConfigured ( "MySQLdb 모듈 로딩 오류 : % s"% e) django.core.exceptions.ImproperlyConfigured : MySQLdb 모듈 로딩 오류 : MySQLdb라는 모듈 없음'
filistea

14
pip install mysql-python

오류가 발생했습니다.

EnvironmentError : mysql_config를 찾을 수 없습니다

sudo apt-get install python-mysqldb

문제를 해결했습니다.


11

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

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에 설치했는지 여부를 확실하지 않습니다 ...

도움이 되길 바랍니다.


8

다음은 Ubuntu 13.10 64 비트를 실행하여 완벽하게 작동했습니다.

sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev

이제 virtualenv (예 : env 폴더)로 이동하여 다음을 실행하십시오.

sudo ./bin/pip install mysql-python

실제로 별도의 질문에서 해결책 을 찾았으며 아래에 인용하고 있습니다.

--no-site-packages 스위치 (기본값)를 사용하여 virtualenv를 생성 한 경우 MySQLdb와 같은 시스템 전체에 설치된 추가 항목이 가상 환경 패키지에 포함되지 않습니다.

virtualenv와 함께 설치된 pip 명령으로 MySQLdb를 설치해야합니다. bin / activate 스크립트를 사용하여 virtualenv를 활성화하거나 virtualenv 내에서 bin / pip를 사용하여 MySQLdb 라이브러리를 로컬로 설치하십시오.

또는 --system-site-package 스위치를 사용하여 시스템 사이트 패키지가 포함 된 새 virtualenv를 만듭니다.

나는 이것이 OSX에서도 작동해야한다고 생각합니다. 유일한 문제는 설치에 상응하는 명령을 받고있을 것입니다 libmysqlclient-dev그리고 python-dev그들은 컴파일 할 필요로 mysql-python것 같아요.

도움이 되었기를 바랍니다.


2
감사! virtualenv와 함께 설치된 pip 명령으로 MySQLdb를 설치해야합니다. -도움
dobs

감사. sudo ./bin/pip install mysql-python매우 도움이됩니다!
theblackpearl

8

이것을 시도하십시오 : 이것은 나를 위해 문제를 해결했습니다.

pip 설치 MySQL-python


2
감사. django 1.7.1에서 heroku 및 cleardb : ignite를 사용하여 문제를 해결했습니다.
Ryan Walton


7

sudo apt-get install python-mysqldb 우분투에서 완벽하게 작동

pip install mysql-python제기 환경 오류


5

이것은 Red Hat Enterprise Linux Server 릴리스 6.4에서 작동했습니다

sudo yum install mysql-devel
sudo yum install python-devel
pip install mysql-python

CentOS는 7, 옵션 1 : yum install MySQL-python; 옵션 2 (virtuenv를 사용하는 경우) : yum install mysql-devel; venv/bin/pip install MySQL-python.
hudolejev

4

당신은 같이 설치할 수 있습니다 pip install mysqlclient


이것은 내가 파이썬 3에 사용할 버전이라고 생각하기 때문에 나를 위해 분류했습니다.

3

OSX Mavericks 및 Pycharm 3으로 업그레이드 하고이 오류가 발생하기 시작했습니다. 핍을 사용하고 쉽게 설치하고 오류가 발생했습니다.

종료 상태 1로 '/ usr / bin / clang'명령이 실패했습니다.

따라서 Xcode 5로 업데이트하고 pip를 사용하여 다시 설치하려고했습니다.

pip install mysql-python

모든 문제를 해결합니다.


2

여기에서 발생한 오류는 파이썬 모듈을 가져 오는 중입니다. python site-packages 폴더를 OS X의 환경 변수 $ PYTHONPATH에 추가하면이 문제를 해결할 수 있습니다. 따라서 .bash_profile 파일에 다음 명령을 추가 할 수 있습니다.

export PYTHONPATH="$PYTHONPATH:/usr/local/lib/pythonx.x/site-packages/"

* xx를 사용중인 파이썬 버전으로 바꿉니다.


나는이 시도 : stackoverflow.com/questions/25459386/...을 이 나를 구원했지만 실패 .. (Y)
Kamaldeep 싱 바 티아

2

python3을 사용하는 경우 다음을 시도하십시오 (내 OS는 Ubuntu 16.04입니다).

sudo apt-get install python3-mysqldb

2

pipWindows 8 64 비트 시스템에서 나를 위해 작동하지 않았습니다. easy_install mysql-python나를 위해 작동합니다. easy_installpip가 작동하지 않으면 Windows에서 바이너리를 작성하지 않도록 할 수 있습니다 .


1

OSX 10.6.6에서 동일한 문제가 발생했습니다. 그러나 easy_install mysql-python다른 딸꾹질이 따라가는 것만으로 간단한 터미널에서 해결하지 못했습니다.

error: command 'gcc-4.2' failed with exit status 1.

분명히이 문제는 XCode3 (기본적으로 OSX 10.6과 함께 제공됨)에서 XCode4로 업그레이드 한 후에 발생합니다. 이 최신 버전은 ppc arch 빌드에 대한 지원을 제거합니다. 같은 경우에는 다음과 같이 해보십시오.easy_install mysql-python

sudo bash
export ARCHFLAGS='-arch i386 -arch x86_64'
rm -r build
python setup.py build
python setup.py install

이 솔루션에 대해 Ned Deily에게 감사드립니다. 여기를 확인하십시오


0

나를 위해 단순히 mysql-python을 다시 설치하여 문제가 해결되었습니다.

pip uninstall mysql-python
pip install mysql-python


0

pipMySQL-python 사용하여 라이브러리를 설치하여 동일한 문제를 극복했습니다 . settings.py에서 데이터베이스 설정을 처음 변경하고 makemigrations 명령을 실행했을 때 콘솔에 메시지가 표시되는 것을 볼 수 있습니다 (해결 방법은 아래 메시지를 따르십시오).

  (vir_env) admins-MacBook-Pro-3:src admin$ python manage.py makemigrations
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/contrib/auth/models.py", line 41, in <module>
    class Permission(models.Model):
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/base.py", line 139, in __new__
    new_class.add_to_class('_meta', Options(meta, **kwargs))
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/base.py", line 324, in add_to_class
    value.contribute_to_class(cls, name)
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/options.py", line 250, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/__init__.py", line 36, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/utils.py", line 240, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/utils.py", line 111, in load_backend
    return import_module('%s.base' % backend_name)
  File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 27, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

마지막 으로이 문제를 다음과 같이 극복했습니다.

(vir_env) admins-MacBook-Pro-3:src admin$ pip install MySQLdb
Collecting MySQLdb
  Could not find a version that satisfies the requirement MySQLdb (from versions: )
No matching distribution found for MySQLdb
(vir_env) admins-MacBook-Pro-3:src admin$ pip install MySQL-python
Collecting MySQL-python
  Downloading MySQL-python-1.2.5.zip (108kB)
    100% |████████████████████████████████| 112kB 364kB/s 
Building wheels for collected packages: MySQL-python
  Running setup.py bdist_wheel for MySQL-python ... done
  Stored in directory: /Users/admin/Library/Caches/pip/wheels/38/a3/89/ec87e092cfb38450fc91a62562055231deb0049a029054dc62
Successfully built MySQL-python
Installing collected packages: MySQL-python
Successfully installed MySQL-python-1.2.5
(vir_env) admins-MacBook-Pro-3:src admin$ python manage.py makemigrations
No changes detected
(vir_env) admins-MacBook-Pro-3:src admin$ python manage.py migrate
Operations to perform:
  Synchronize unmigrated apps: staticfiles, rest_framework, messages, crispy_forms
  Apply all migrations: admin, contenttypes, sessions, auth, PyApp
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  Rendering model states... DONE
  Applying PyApp.0001_initial... OK
  Applying PyApp.0002_auto_20170310_0936... OK
  Applying PyApp.0003_auto_20170310_0953... OK
  Applying PyApp.0004_auto_20170310_0954... OK
  Applying PyApp.0005_auto_20170311_0619... OK
  Applying PyApp.0006_auto_20170311_0622... OK
  Applying PyApp.0007_loraevksensor... OK
  Applying PyApp.0008_auto_20170315_0752... OK
  Applying PyApp.0009_auto_20170315_0753... OK
  Applying PyApp.0010_auto_20170315_0806... OK
  Applying PyApp.0011_auto_20170315_0814... OK
  Applying PyApp.0012_auto_20170315_0820... OK
  Applying PyApp.0013_auto_20170315_0822... OK
  Applying PyApp.0014_auto_20170315_0907... OK
  Applying PyApp.0015_auto_20170315_1041... OK
  Applying PyApp.0016_auto_20170315_1355... OK
  Applying PyApp.0017_auto_20170315_1401... OK
  Applying PyApp.0018_auto_20170331_1348... OK
  Applying PyApp.0019_auto_20170331_1349... OK
  Applying PyApp.0020_auto_20170331_1350... OK
  Applying PyApp.0021_auto_20170331_1458... OK
  Applying PyApp.0022_delete_postoffice... OK
  Applying PyApp.0023_posoffice... OK
  Applying PyApp.0024_auto_20170331_1504... OK
  Applying PyApp.0025_auto_20170331_1511... OK
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying sessions.0001_initial... OK
(vir_env) admins-MacBook-Pro-3:src admin$ 

0

이 명령을 실행

sudo pip install mysql-python;

이제 명령을 실행할 수 있습니다.

python manage.py startapp filename;

0

Mac OSX의 virtualenv에서 python3.7 및 django 2.1을 사용하는 것과 비슷한 상황이 발생했습니다. 명령을 실행하십시오.

pip install mysql-python
pip install pymysql

__init__.py프로젝트 폴더에서 파일을 편집 하고 다음을 추가하십시오.

import pymysql

pymysql.install_as_MySQLdb()

그런 다음 다음을 실행하십시오. python3 manage.py runserver 또는 python manage.py runserver

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.