Windows에서 MySQL과 Python 통합


102

Windows 시스템에서 Python과 함께 MySQL을 사용하기가 어렵습니다.

현재 Python 2.6을 사용하고 있습니다. 제공된 설치 스크립트를 사용하여 MySQL-python-1.2.3b1 (Python 2.6에서 작동해야하는) 소스 코드를 컴파일하려고했습니다. 설치 스크립트가 실행되고 오류를보고하지 않지만 _mysql 모듈을 생성하지 않습니다.

또한 Python 2.5 용 MySQL을 성공적으로 설정하려고 시도했습니다. 2.5 사용의 문제점은 Python 2.5가 Visual Studio 2003으로 컴파일된다는 것입니다 (제공된 바이너리를 사용하여 설치했습니다). Windows 시스템에 Visual Studio 2005가 있습니다. 따라서 setuptools는 _mysql 모듈을 생성하지 못합니다.

도움이 필요하세요?


2
이 질문을받은 후 3 년이 지났고 마지막으로 높은 투표를받은 답변이 2 년이 지났으므로 아래 Python 3.2에 대한 업데이트 된 답변을 참조하십시오 (또는 wiki.python.org/moin/MySQL 참조 )
Eran Medan

답변:


127

python-mysqldb 다운로드 페이지 . 이 페이지에는 Python 2.5, 2.6 및 2.7의 32 비트 및 64 비트 버전 용 바이너리가 포함되어 있습니다.

지원 중단 경고 제거에 대한 논의 도 있습니다 .

업데이트 : 이것은 오래된 답변입니다. 현재는 PyMySQL을 사용하는 것이 좋습니다. 순수한 python이므로 모든 OS를 동등하게 지원하고 mysqldb를 대체 할 수 있으며 python 3에서도 작동합니다. 설치하는 가장 좋은 방법은 pip를 사용하는 것입니다. 여기 에서 설치 한 후 (추가 지침은 여기 ) 다음을 실행할 수 있습니다.

pip install pymysql

누구든지 첫 번째 링크 된 실행 파일이 Python 2.6에서 작동하는지 확인할 수 있습니까? 설치 스플래시 화면에 2.5에 불과하다고 표시되어 있지만이를 구축 한 사람이 해당 문서 행을 업데이트하지 않았을 수도 있습니다.
John C

Python 2.7 x64를 설치했지만 MySQLdb를 가져 오는 동안 'ImportError : No module named _mysql_windows.api'오류가 발생합니다. pls 누구든지이 문제를 해결하도록 도와줍니다.
Vilva 2012 년

4
잘 수행 한 후 pip install pymysql, syncdb여전히 누락에 대해 불평 MySQLdb모듈.
샤 일렌

Windows 8.1 64 비트 시스템에서이 명령을 실행하는 동안 다음과 같은 내용이 표시됩니다. Traceback (가장 최근 호출) : File "C : \ Python33 \ Scripts \ pip-script.py", 5 행, <module> from pkg_resources import load_entry_point ImportError : 'pkg_resources'라는 모듈 없음
hizbul25

@shailenTJ (그리고 비슷한 문제를 가진 사람이)보고 여기
itsadok

31

이것은 할아버지의 조언처럼 읽힐 수 있지만 여기의 모든 답변은 가장 좋은 방법을 언급하지 않았습니다 . python.org Windows 바이너리 대신 ActivePython 을 설치하십시오 . Windows에서의 Python 개발이 왜 그렇게 피타인지 오랫동안 궁금했습니다. 내가 activestate python을 설치할 때까지 말입니다. 나는 그들과 관련이 없습니다. 그것은 단순한 진실입니다. 모든 벽에 쓰기 : Windows에서의 Python 개발 = ActiveState ! 그러면 pypm install mysql-python모든 것이 원활하게 작동합니다. 컴파일 난교가 없습니다. 이상한 오류가 없습니다. 공포가 없습니다. 코딩을 시작하고 5 분 후에 실제 작업을 수행하십시오. 이것은 창문에 갈 수있는 유일한 방법입니다. 정말.


2
Business Edition 구독이 필요하지 않은 경우 완벽한 솔루션이 될 것입니다 ...
Matheus Moreira

4
@ matheus.emm-Windows 32 비트에 MySQLdb를 설치하는 데 Business Edition이 필요하지 않습니다.
Sridhar Ratnakumar

7
@ matheus.emm-무료 액세스 를 위해 Windows 7 64 비트 OS에 ActivePython 32 비트 를 설치 한 다음 mysql-python을 설치할 수 있습니다. ActivePython 64 비트는 패키지 설치를 위해 BE 구독이 필요합니다.
Sridhar Ratnakumar

2
이것은 훌륭한 조언입니다. 프로덕션에서 Python을 진지하게 사용하고 있다면 Business Edition은 그만한 가치가 있다고 생각합니다. 한 달에 몇 시간의 작업을 절약 할 수 있다면 그 자체로 지불 할 수 있습니다. 이러한 모든 구성 문제로 인해 오픈 소스 비즈니스 모델이 기억납니다. "소프트웨어를 무료로 제공하지만 설치 및 사용이 너무 어려워서 설명서 및 / 또는 지원을 구입해야합니다." 유일한 문제는 이러한 프로젝트 중 상당수가 지원을 제공하거나 판매하지 않는다는 것입니다. 오픈 소스를 의도 한 비즈니스 모델이 아닌 이데올로기로보기 때문입니다. lolz
Dana Holt

1
activepython 커뮤니티 에디션을 사용하여 설치하고 매력처럼 작동했습니다. 적극 권장
Cleber Goncalves

15

Python 생태계를 배우는 Python 초보자로서 저는이 작업을 방금 완료했습니다.

  1. setuptools 지침 설치

  2. MySQL 5.1을 설치합니다. 여기 에서 97.6MB MSI를 다운로드하십시오 . C 라이브러리가 포함되어 있지 않기 때문에 Essentials 버전을 사용할 수 없습니다.
    사용자 정의 설치를 선택하고 기본적으로 수행되지 않는 설치용 개발 도구 / 라이브러리를 표시하십시오. C 헤더 파일을 가져 오는 데 필요합니다.
    설치 디렉토리에서 "include"라는 폴더를 찾아이 작업을 올바르게 수행했는지 확인할 수 있습니다. EG C : \ Program Files \ MySQL \ MySQL Server 5.1 \ include. 전체 .h 파일이 있어야합니다.

  3. 여기 에서 Microsoft Visual Studio C ++ Express 2008을 설치 합니다. 이것은 C 컴파일러를 얻는 데 필요합니다.

  4. 관리자 권한으로 명령 줄을 엽니 다 (Cmd 바로 가기를 마우스 오른쪽 버튼으로 클릭 한 다음 "관리자 권한으로 실행"). 이러한 항목을 설치 한 후 새 창을 열어야합니다. 그렇지 않으면 경로가 업데이트되지 않고 설치가 계속 실패합니다.

  5. 명령 프롬프트에서 :

    easy_install -b C : \ temp \ sometempdir mysql-python

    그것은 실패 할 것입니다-괜찮습니다.

    이제 임시 디렉토리 C : \ temp \ sometempdir에서 site.cfg를 열고 "registry_key"설정을 다음과 같이 편집하십시오.

    registry_key = SOFTWARE \ MySQL AB \ MySQL Server 5.1

    이제 CD를 임시 디렉토리에 넣고 다음을 수행하십시오.

    python setup.py clean

    python setup.py 설치

    흔들 준비가되어 있어야합니다!

  6. 다음 은 필요한 경우 Python DB API 학습을 시작하는 매우 간단한 스크립트입니다.


7

한 사람이 python2.6 용 mysql을 성공적으로 빌드하고 링크를 공유 한 위치를 찾았습니다. http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe .

... MySQLdb를 가져 오는 동안 경고가 표시 될 수 있습니다. 이는 문제가되지 않습니다.

C : \ Python26 \ lib \ site-packages \ MySQLdb__init __. py : 34 : DeprecationWarning : sets 모듈이 sets import ImmutableSet에서 더 이상 사용되지 않습니다.


5

pymysql어떻 습니까? 순수한 Python이며, mysql-python을 컴파일하고 설치하는 어려움을 우회하여 Windows에서 상당한 성공을 거두었습니다.






2

myPySQL을 사용해 볼 수 있습니다. 정말 사용하기 쉽습니다. Windows 용 컴파일은 필요 없으며 어떤 이유로 든 컴파일해야하는 경우에도 Python 및 Visual C 만 설치하면됩니다 (mysql 아님).

http://code.google.com/p/mypysql/

행운을 빕니다


1

(pylons / pyramid) virtualenv에서 파이썬을 실행하고 있기 때문에 이전에 링크 된 바이너리 설치 프로그램을 실행할 수 없었습니다.

Willie의 대답에 따라 단계를 수행하는 데 문제가 있었지만 문제는 (아마도) Windows 7 x64 설치를 실행하고 있다는 것입니다. 버전 5.5를 실행 중) : "HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ MySQL AB \ MySQL Server 5.5".

그러나 "HKEY_LOCAL_MACHINE \"은 경로에 포함될 수 없으며 실패합니다.

또한 3 단계와 4 단계 사이에 다시 시작해야했습니다.

이 모든 작업을 수행 한 후에 IMO는 cygwin에서 전체 파이썬 개발 환경을 실행하는 것이 더 현명했을 것입니다.




0

MySQL 커넥터 / ODBC 와 함께 pyodbc 를 사용하여 Windows에서 MySQL을 사용할 수도 있습니다 . Unixodbc 는 또한 코드를 Linux에서 호환되도록 만드는 데 사용할 수 있습니다. Pyodbc는 표준 Python DB API 2.0을 사용 하므로 MySQL / PostgreSQL / SQLite / ODBC / JDBC 드라이버 등 사이의 전환을 고수한다면 비교적 고통스럽지 않을 것입니다.



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