2010-07-14 6 views
19

소스 (Django)를 소스 (python setup.py install 등)에 설치하고 소스에서 MySQLdb를 설치합니다 (python setup.py build, python setup.py install). OS (CentOS 5.5)에 설치된 Python 2.4를 사용합니다. 서버 실행 한 후 다음과 같은 오류 메시지가 방법 :Django가 MySQLdb 파이썬 모듈을 찾을 수 없습니다

Error loading MySQLdb module: No module named MySQLdb

디버그 정보가 제공 PYTHONPATH는 아직

'/usr/lib/python2.4/site-packages'

등을 포함을 나는 디렉토리, 내가 분명히 볼 수 ls 경우

MySQL_python-1.2.3-py2.4-linux-i686.egg

파이썬 대화 형 셸을 사용하면 import MySQLdb을 입력 할 수 있으며 오류가 발생하지 않습니다. 이것은 내가 장고 경로 문제라고 믿게하지만, 나는 장고와 파이썬을 처음 접했을 때 어디서부터 시작해야하는지 전혀 알지 못한다.

편집 : 조금 더 구체적으로 모든 것이 현재 루트로 실행 중입니다. 아직 컴퓨터에 어떤 사용자도 설치하지 않았으므로 루트가 아닌 다른 사용자는 없습니다.

EDITx2 : 웹 서버는 체로키 (Cherokee)이며 uWSGI를 사용하여 배포합니다. 모두 소스에서 설치되었습니다.

+0

그냥 할이 ------------ apt-get을에 파이썬 mysqldb에게 – shadow0359

답변

1

Django 프로젝트의 디렉토리 기반에서 "python manage.py shell"을 호출하여 Python이 라이브러리를 찾고있는 곳을 찾을 수 있습니다. 그런 다음 :

import sys 
import pprint 
pprint.pprint(sys.path) 

그러면 파이썬이 라이브러리를 가져 오는 위치를 알 수 있습니다. 또한 "import mysql"을 시도하여 오류가 발생하는지 확인하십시오.

마지막으로 WSGI 서비스의 경로 지정은 체로키의 uWSGI 설정으로 구성되어 있습니다 (죄송합니다). 라이브러리를로드하는 위치와 방법을 결정하는 방법에 대한 제안은 해당 생물의 세부 정보를 알지 못합니다. 통로.

+0

흠 흥미, 실행 파이썬 manage.py 쉘 결과를 설치 그 같은 오류는 내가 받고있어. django.core.exceptions.ImproperlyConfigured : MySQLdb 모듈을로드하는 중 오류가 발생했습니다 : MySQLdb라는 모듈이 없습니다 – Whellow

+0

그렇다면 python 경로 지정에서 분명히 의미가 있습니다. pprint.pprint (sys.path)의 결과를보고 가장 먼저 언급 한 계란을 포함 할 것으로 예상되는 부분을 파악할 수 있습니까? – heckj

+0

오케이, 내 실수. .egg 파일을 디버깅하는 동안 임시로 삭제했음을 잊어 버렸습니다. 난 그냥 다시 (MySQLdb를 재설치) 넣어 이제 manage.py 쉘을 실행할 수 있습니다. pprint의 결과는 .egg :/usr/lib/python2를 직접보고있는 것으로 나타났습니다.4/site-packages/MySQL_python-1.2.3-py2.4-linux-i686.egg 이상한. 어쨌든 체로키가 실행하는 페이지로 이동하면 No MySQLdb 모듈 오류가 발생합니다. 편집 : 지금까지 도와 주셔서 감사합니다! 내가 지금까지 물어 봤던 다른 사람들은 이것을 멀리 할 수 ​​없었다. – Whellow

33

파이썬 패키지에서 MySQLdb를 설치하셨습니까? easy_install 대신 pip을 사용하는 것이 좋습니다.

easy_install pip 
pip install pip --upgrade 

을 그리고 PIP를 통해 장고를 설치 :

먼저 pipeasy_install을 대체 할 수 일반적으로 easy_install이 (setuptools에의 일부) 이미 설치되어

pip install MySQL-python 
pip install Django 

을 핍이 훨씬 더있다. 그것은 제거 옵션도 제공하며, EGG 파일 매직 대신에 플랫 설치 디렉토리를 사용합니다. 이렇게하면 일부 비 호환성 문제가 해결 될 수도 있습니다.

+0

"easy_install install pip"를 실행하려고하면 다음 오류가 발생합니다. 설치 검색 | 읽기 http://pypi.python.org/simple/install/ '설치'에 대한 색인 페이지를 찾을 수 없습니다 (맞춤법이 틀릴 수도 있음) – Whellow

+0

@irishb : 아, 내 잘못. 'easy_install'는 먼저'install' 동사가 필요 없습니다. 결정된! – vdboor

+0

'OS X' 사람들을위한 힌트 https://twitter.com/andilabs/status/460325166082719744 – andi

17

종속성을 구축하려고 시도 했습니까? 이것은 우분투에서 나를 위해 해결했습니다 :

sudo apt-get build-dep python-mysqldb 
pip install MySQLdb-python 
+0

저도 속임수를 사용했습니다. 감사! – Pablo

+0

Mac에서 어떨까요? – 010110110101

+0

확실하지 않습니다. 죄송합니다. –

1

나는이 문제를 겪고 있었지만 virtualenv 내부에서만 문제가있었습니다.나는 마침내 해결하기 위해 무슨 짓을

그것은

workon [project_name] 
pip uninstall django 
pip install mysql-python 
pip install django 

그래서 django가 작동하는 것 같다 mysql-python 전에 설치 확인을했다.
이것은 우분투 시스템에 있으며 virtualenv을 사용하고 있습니다. 나를 위해 일한 무엇

sudo apt-get install python-dev 
-1

이 나를 위해 속임수를 썼는지

sudo apt-get install libmysqlclient-dev (this was the key for me) 
pip install mysql-python 
pip install django 
-1
pip install mysql-python 

내 문제 : 내 경우에는

-1

해결, 파이썬은 mySQL에 접근 할 수 있었지만 장고 (Django, 1.6)는 "MySQLdb 모듈을로드하는 중 오류가 발생했습니다 : MySQLdb라는 모듈이 없습니다"

나는 Macbook OSX (Maverick)에 있습니다. "그 소리 : 오류 : 알 수없는 인수를 '-mno - 융합 - 매드'[-Wunused-명령 줄 인수를 내가 컴파일하는 동안 오류가 발생했습니다

pip install mysql-python

실행하려고

어려움을 겪고 있습니다. "

이 문제는 새로운 Xcode 5.1을 사용한 cc 컴파일러의 업데이트 된 동작입니다. 인식 할 수없는 매개 변수가 있으면 치명적인 오류로 간주하여 종료합니다. 이 동작을 재정의하는 솔루션은 여기에서 찾을 수 있습니다 : 당신이 리눅스를 사용하는 경우

http://bruteforce.gr/bypassing-clang-error-unknown-argument.html

2

이 시도 : -는 sudo apt-get을 설치 파이썬 mysqldb

창 : - 파이썬 - mysqldb를 설치 PIP 또는 easy_install을 파이썬 - mysqldb

희망이

관련 문제