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.