Dự án này là một ngã ba của MySQLDB1. Dự án này bổ sung hỗ trợ Python 3 và đã sửa nhiều lỗi.
- Pypi: //pypi.org/project/mysqlclient/
- GitHub: //github.com/pymysql/mysqlclient
Ủng hộ
Không sử dụng trình theo dõi vấn đề GitHub để hỏi trợ giúp. Người bảo trì OSS không phải là hỗ trợ công nghệ miễn phí
Khi câu hỏi của bạn có vẻ liên quan đến Python hơn là MySQL:
- Danh sách gửi thư của Python
- Slack Pythondev.Slack.com
Hoặc khi bạn có câu hỏi về MySQL:
- Cộng đồng MySQL trên Slack
Cài đặt
các cửa sổ
Xây dựng mysqlclient trên cửa sổ rất khó khăn. Nhưng có một số bánh xe nhị phân bạn có thể cài đặt dễ dàng.
Nếu bánh xe nhị phân không tồn tại cho phiên bản Python của bạn, có thể xây dựng từ nguồn, nhưng nếu điều này không hoạt động, đừng đến yêu cầu hỗ trợ. Để xây dựng từ nguồn, hãy tải xuống đầu nối Mariadb C và cài đặt nó. Nó phải được cài đặt ở vị trí mặc định (thường là "C: \ Program Files \ Mariadb \ Mariadb Connector C" hoặc "C: \ Program Files (x86) \ Mariadb \ Mariadb Connector C" cho 32 bit). Nếu bạn tự xây dựng trình kết nối hoặc cài đặt nó ở một vị trí khác, hãy đặt biến môi trường MYSQLCLIENT_CONNECTOR trước khi cài đặt. Khi bạn đã cài đặt trình kết nối và phiên bản phù hợp của Visual Studio cho phiên bản Python của bạn:do not come asking for support. To build from source, download the MariaDB C Connector and install it. It must be installed in the default location (usually "C:\Program Files\MariaDB\MariaDB Connector C" or "C:\Program Files (x86)\MariaDB\MariaDB Connector C" for 32-bit). If you build the connector yourself or install it in a different location, set the environment variable MYSQLCLIENT_CONNECTOR before installing. Once you have the connector installed and an appropriate version of Visual Studio for your version of Python:
$ pip install mysqlclientMacOS (homebrew)
Cài đặt MySQL và MySQLClient:
# Assume you are activating Python 3 venv $ brew install mysql $ pip install mysqlclientNếu bạn không muốn cài đặt Máy chủ MySQL, thay vào đó, bạn có thể sử dụng MySQL-Client:
# Assume you are activating Python 3 venv $ brew install mysql-client $ echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile $ export PATH="/usr/local/opt/mysql-client/bin:$PATH" $ pip install mysqlclientLinux
Lưu ý rằng đây là một bước cơ bản. Tôi không thể hỗ trợ bước hoàn chỉnh để xây dựng cho tất cả các môi trường. Nếu bạn có thể thấy một số lỗi, bạn nên tự sửa nó hoặc yêu cầu hỗ trợ trong một số diễn đàn người dùng. Đừng nộp một vấn đề trên trình theo dõi vấn đề.
Bạn có thể cần cài đặt các tiêu đề và thư viện phát triển Python 3 và MySQL như vậy:
- $ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential # Debian / Ubuntu
- % sudo yum install python3-devel mysql-devel # Red Hat / Centos
Sau đó, bạn có thể cài đặt mysqlclient qua PIP ngay bây giờ:
$ pip install mysqlclientTùy chỉnh bản dựng (POSIX)
MySQLClient sử dụng mysql_config hoặc mariadb_config theo mặc định để tìm cờ trình biên dịch/trình liên kết.
Bạn có thể sử dụng các biến môi trường ____10 và # Assume you are activating Python 3 venv $ brew install mysql $ pip install mysqlclient 1 để tùy chỉnh các tùy chọn trình biên dịch/trình liên kết.
$ export MYSQLCLIENT_CFLAGS=`pkg-config mysqlclient --cflags` $ export MYSQLCLIENT_LDFLAGS=`pkg-config mysqlclient --libs` $ pip install mysqlclientTài liệu
Tài liệu được lưu trữ trên Read the Docs
MySQLDB là một trình bao bọc python mỏng xung quanh mô -đun C, thực hiện API cho cơ sở dữ liệu MySQL.
Có phiên bản MySQLDB1 của Wrapper được sử dụng cách đây một thời gian và bây giờ nó được coi là một di sản. Khi MySQLDB1 bắt đầu phát triển thành MySQLDB2 với các sửa lỗi và hỗ trợ Python3, một MySQLDB1 đã bị chia tay và đây là cách MySQLClient xuất hiện, với Bugfixes và Python3 hỗ trợ. Tóm lại, vì vậy bây giờ chúng tôi có MySQLDB2 chưa sẵn sàng để sử dụng sản xuất, MySQLDB1 làm trình điều khiển lỗi thời và cộng đồng đã hỗ trợ mysqlclient với các sửa lỗi lỗi và hỗ trợ Python3.
Bây giờ, để giải quyết mớ hỗn độn đó, MySQL cung cấp phiên bản bộ điều hợp MySQL của riêng họ - Trình kết nối MySQL, một mô -đun Python toàn bộ sử dụng API MYSQL mà không có mô -đun C nào phụ thuộc và chỉ được sử dụng các mô -đun Python tiêu chuẩn.no C modules dependencies and only standard python modules used.
Vì vậy, bây giờ câu hỏi được đưa ra: mysqlclient vs kết nối MySQL.
Đối với tôi, tôi sẽ đi với thư viện được hỗ trợ chính thức, tuy nhiên # Assume you are activating Python 3 venv $ brew install mysql $ pip install mysqlclient 2 cũng sẽ là một lựa chọn tốt. Cả hai đều đang được cập nhật tích cực với các bản sửa lỗi và các tính năng mới mà bạn có thể thấy bằng cách hoạt động trong những ngày cuối cùng.
Lưu ý: Tôi không có nhiều kinh nghiệm với họ, vì vậy có thể có trường hợp khi người này hoặc người khác không phù hợp với nhu cầu của bạn. Cả hai thư viện đều tuân theo tiêu chuẩn PEP-249, điều đó có nghĩa là bạn sẽ ổn với ít nhất chức năng cơ sở ở mọi nơi.
Cài đặt và phụ thuộc
- mysqlclient
Là một cái nĩa của trình bao tải C, nó yêu cầu các mô-đun C phải hoạt động với MySQL, bổ sung các tệp tiêu đề Python để xây dựng các tiện ích mở rộng này (đọc Python-dev). Cài đặt phụ thuộc vào hệ thống bạn sử dụng, chỉ cần đảm bảo bạn biết tên gói và có thể cài đặt chúng.
- Tài liệu chính của đầu nối MySQL khá rõ ràng, tuy nhiên bạn nên biết về sự phụ thuộc của ProtObuf C ++ (đối với các phiên bản kết nối MySQL> = 2.2.3).