Tôi gặp sự cố khi xử lý pip install mysqlclient
cho Python3 trên MAC OS Sierra.Cài đặt mysqlclient cho mariadb trên mac os cho python3
running build_ext
building '_mysql' extension
creating build/temp.macosx-10.12-x86_64-3.6
clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/openssl/1.0.2k/include -Dversion_info=(1,3,10,'final',0) -D__version__=1.3.10 -I/usr/local/Cellar/mariadb/10.2.6/include/mysql -I/usr/local/Cellar/mariadb/10.2.6/include/mysql/.. -I/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c _mysql.c -o build/temp.macosx-10.12-x86_64-3.6/_mysql.o
_mysql.c:1911:42: error: no member named 'reconnect' in 'struct st_mysql'
if (reconnect != -1) self->connection.reconnect = reconnect;
~~~~~~~~~~~~~~~~^
1 error generated.
error: command 'clang' failed with exit status 1
Tôi đã cài đặt MariaDB và xcode-select --install
và cũng được xử lý.
Sẽ được intressting để biết lý do tại sao hoặc những gì họ loại bỏ từ mariadb 10.2.X –
Tôi nghĩ rằng có liên quan đến dòng này của các changelog: Old GPL thư viện khách hàng đã biến mất; Bây giờ MariaDB Server đi kèm với thư viện LGPL Connector/C (MDEV-9055) – notFloran
Vấn đề chính là, các ứng dụng (như Python) không được chạm vào các cấu trúc MYSQL hoặc MYSQL_STMT, đặc biệt nếu có các hàm API. MySQL được thêm vào năm 2004 tùy chọn MYSQL_OPT_RECONNECT để thay đổi hành vi kết nối lại thông qua mysql_options() gọi - vì vậy có thể đã đến lúc sửa lỗi. –