Windows에서 ActiveState Python 3을 사용하고 있으며 MySQL 데이터베이스에 연결하고 싶었습니다. 그것이 mysqldb
사용할 모듈 이라고 들었습니다 . mysqldb
파이썬 3을 찾을 수 없습니다 .
바이너리가 존재하는 저장소가 mysqldb
있습니까? Windows의 Python 3에서 MySQL에 어떻게 연결할 수 있습니까?
Windows에서 ActiveState Python 3을 사용하고 있으며 MySQL 데이터베이스에 연결하고 싶었습니다. 그것이 mysqldb
사용할 모듈 이라고 들었습니다 . mysqldb
파이썬 3을 찾을 수 없습니다 .
바이너리가 존재하는 저장소가 mysqldb
있습니까? Windows의 Python 3에서 MySQL에 어떻게 연결할 수 있습니까?
답변:
현재 mysql과 함께 Python 3을 사용하기위한 몇 가지 옵션이 있습니다.
https://pypi.python.org/pypi/mysql-connector-python
https://pypi.python.org/pypi/pymysql
MySQLdb
호출 후 와 거의 완벽하게 호환pymysql.install_as_MySQLdb()
https://pypi.python.org/pypi/cymysql
https://pypi.python.org/pypi/mysqlclient
python-mysqldb
하고 python3-mysqldb
패키지를.여기에 벤치 마크 : https://github.com/methane/mysql-driver-benchmarks
pip install mysqlclient
그냥 나를 위해 일 했다! 다양한 옵션 목록을 제공해 주셔서 감사합니다.
mysqlclient
방금 Python3.4 + Django + Passenger + Dreamhost 설치에서 일했습니다.
testing
것처럼 python3-mysqldb
보이지만에 없습니다 stable
. 다음 버전에있을 것입니다.
sudo apt-get install python3-mysql.connector
pymysql -Pure Python MySQL 클라이언트를 대신 사용해야 합니다.
Python 3.x에서 작동하며 종속성이 없습니다.
이 순수 Python MySQL 클라이언트는 이진 클라이언트 / 서버 프로토콜을 통해 서버와 직접 통신하여 MySQL 데이터베이스에 DB-API를 제공합니다.
예:
import pymysql conn = pymysql.connect(host='127.0.0.1', unix_socket='/tmp/mysql.sock', user='root', passwd=None, db='mysql') cur = conn.cursor() cur.execute("SELECT Host,User FROM user") for r in cur: print(r) cur.close() conn.close()
constants
.
또한 pymysql (Win7 x64 컴퓨터에서 Python 3.3)을 너무 운이없이 사용해 보았습니다. .tar.gz를 다운로드하고 압축을 풀고 "setup.py install"을 실행했는데 모든 것이 정상으로 보였습니다. 데이터베이스에 연결하려고 할 때까지 "KeyError [56]"이 나타납니다. 어디서나 문서를 찾을 수없는 오류.
그래서 나는 pymysql을 포기하고 Oracle MySQL 커넥터 에 정착했습니다 .
설치 패키지로 제공되며 기본적으로 작동합니다. 또한 문서화 된 것으로 보입니다.
테스트되지 않았지만 다음에서 사용할 수있는 일부 바이너리가 있습니다.
요약
Mysqlclient 는 Python 3+ 와 완벽하게 작동하고 (mysql 커넥터와 달리) 예상 규칙을 따르고 , 기존 소프트웨어의 편리한 포팅을 가능하게하는 객체 이름 mysqldb 를 사용 하고 Python 3 빌드를 위해 Django 에서 사용 하기 때문에 최상의 대안 (IMHO) 입니다
mysqldb에 바이너리가있는 저장소가 있습니까?
예. mysqlclient를 사용하면 mysqldb 함수를 사용할 수 있습니다. 그러나 이것은 mysqldb 의 직접 포트 가 아니라 mysqlclient의 빌드 라는 것을 기억하십시오.
Windows의 Python 3에서 MySQL에 어떻게 연결할 수 있습니까?
pip install mysqlclient
예
#!/Python36/python
#Please change above path to suit your platform. Am running it on Windows
import MySQLdb
db = MySQLdb.connect(user="my-username",passwd="my-password",host="localhost",db="my-databasename")
cursor = db.cursor()
cursor.execute("SELECT * from my-table-name")
data=cursor.fetchall()
for row in data :
print (row)
db.close()
Python 3 용 mysqldb를 찾을 수 없습니다.
mysqldb는 아직 포팅되지 않았다
PyMySQL은 MySQLDb와 같은 인터페이스를 제공합니다. 초기화를 시도 할 수 있습니다.
import pymysql
pymysql.install_as_MySQLdb()
또한 python3 용 github에 mysql-python 포트가 있습니다.
Oracle / MySQL은 공식적인 순수 Python DBAPI 드라이버를 제공합니다 : http://dev.mysql.com/downloads/connector/python/
파이썬 3.3과 함께 사용했으며 훌륭하게 작동한다는 것을 알았습니다. SQLAlchemy 와도 작동합니다.
이 질문도 참조하십시오 : Python 3 열차에 타기에는 아직 너무 이른가요?
내 맥 OS 매버릭에서 이것을 시도하십시오 :
터미널 유형에서 :
1) mkdir -p ~ / bin ~ / tmp ~ / lib / python3.3 ~ / src 2) 내보내기 TMPDIR = ~ / tmp
3) wget -O ~ / bin / 2to3
4) http://hg.python.org / cpython / raw-file / 60c831305e73 / Tools / scripts / 2to3
5) chmod 700 ~ / bin / 2to3 6) cd ~ / src 7) git clone https://github.com/petehunt/PyMySQL.git 8) cd PyMySQL /
9) python3.3 setup.py install --install-lib = $ HOME / lib / python3.3 --install-scripts = $ HOME / bin
그런 다음 python3 인터프리터에 입력하고 다음을 입력하십시오.
수입 pymysql . 오류가 없으면 설치가 정상입니다. 확인을 위해 다음 형식으로 mysql에 연결할 스크립트를 작성하십시오.
# MySQL 연결 가져 오기를위한 간단한 스크립트 pymysql db = pymysql.connect (host = "localhost", user = "root", passwd = "* ", db ="biblioteca ") # 물론, 이것은 내 데이터베이스에 대한 정보입니다. # 연결을 닫습니다 db.close () *
이름 (예 : "con.py")을 지정하고 데스크탑에 저장하십시오. 터미널에서 "cd desktop"을 입력 한 다음 $ python con.py 오류가 없으면 MySQL 서버와 연결된 것입니다. 행운을 빕니다!
CyMySQL https://github.com/nakagami/CyMySQL
파이썬 3.3으로 pip install cymysql로 Windows 7에 pip를 설치했습니다.
(사이 톤이 필요하지 않음) 빠르고 고통없는
이것은 내 원래의 질문에 완전히 대답하지는 않지만, 내가 한 일과 이유를 모든 사람에게 알리는 것이 중요하다고 생각합니다.
나는 일반적으로 웹에서 2.7 예제와 모듈이 널리 퍼져 있기 때문에 파이썬 3 대신 파이썬 2.7을 계속 사용하기로 결정했습니다.
이제 mysqldb와 mysql.connector를 모두 사용하여 Python 2.7에서 MySQL에 연결합니다. 둘 다 훌륭하고 잘 작동합니다. 그러나 mysql.connector는 궁극적으로 장기적으로 더 좋습니다.
이것은 Python 3.7을 Mysql과 함께 사용하는 방법에 대한 빠른 자습서입니다.
내 질문에 대한 답변을 얻은 모든 사람에게 감사합니다
. 언젠가 누군가에게 도움이되기를 바랍니다.
-------------------------------------------------- -
내 시스템 :
Windows 버전 : Pro 64 비트
요구 사항 .. 다운로드 및이 처음 ... 설치
1. 다운로드 XAMPP를 ..
https://www.apachefriends.org/download.html
2. 다운로드 파이썬
https://www.python.org/downloads/windows/
- ------------
// METHOD
--------------
설치가 끝난 후 xampp를 먼저 설치하십시오-Python 3.7을 설치하십시오.
둘 다 설치가 완료되면 Windows 시스템을 재부팅하십시오.
이제 xampp를 시작하고 제어판에서 mysql 서버를 시작하십시오.
CMD를 열고 터미널 유형으로 버전을 확인하십시오.
c:\>cd c:\xampp\mysql\bin
c:\xampp\mysql\bin>mysql -h localhost -v
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.21-MariaDB mariadb.org binary distribution
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
이것은 MYSQL 버전을 확인하는 것입니다
c:\xampp\mysql\bin>python
Python 3.7.0b3 (v3.7.0b3:4e7efa9c6f, Mar 29 2018, 18:42:04) [MSC v.1913 64 bit (AMD64)] on win32
이것은 파이썬 버전을 확인하는 것입니다.
이제 둘 다 CMD에 다음을 입력하여 확인했습니다 ...
c:\xampp\mysql\bin>pip install pymysql
pymysql 설치가 완료된 후
바탕 화면이나 빠른 액세스를 위해 "testconn.py"라는 새 파일을 만듭니다.
숭고한 텍스트 편집기 나 다른 텍스트 편집기로이 파일을 열고 파일을 넣으십시오.
데이터베이스를 반영하도록 설정을 변경해야합니다.
#!/usr/bin/python
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb
db = MySQLdb.connect(user="yourusernamehere",passwd="yourpasswordhere",host="yourhosthere",db="yourdatabasehere")
cursor = db.cursor()
cursor.execute("SELECT * from yourmysqltablehere")
data=cursor.fetchall()
for row in data :
print (row)
db.close()
이제 CMD에서-유형
c:\Desktop>testconn.py
그리고 그게 ... 이제 파이썬 스크립트에서 mysql로 완전히 연결되었습니다 ...
즐기십시오 ...
pymysql 가져 오기
db = pymysql.connect ( "localhost", "root", "", "ornament")
커서 = db.cursor ()
sql = "SELECT * FROM 항목"
cursor.execute (SQL)
results = rows. 결과의 cursor.fetchall () : item_title = row [1] comment = row [2] print ( "항목의 제목은 다음과 같습니다 = % s, 주석은 다음과 같습니다 = % s"% \ (item_title, 논평))