10.22 Python學習:debian下為python2.7安裝MySQLdb擴展(mariadb)

一、前言

本來安裝MySQLdb的帖子多如過江之鯉魚,實在是數不勝數,奈何他們服務器上安裝的都是mysql,而現在的新服務器,默認下載安裝的都是mariadb,所以這篇文章主要記錄一下如何安裝mariadb對應的MySQLdb擴展。

二、debian下安裝

本來以為linux下直接pip install就能下載了,但是實際操作的時候要是要注意的。

Python學習:debian下為python2.7安裝MySQLdb擴展(mariadb)

比如網上的方案是:

apt-get install libmysql-dev
apt-get install libmysqlclient-dev
apt-get install python-dev
pip install mysqlclient

這些命令一般情況下是沒問題的,但是本機上安裝的是maraidb,那就扯淡了

MariaDB [(none)]> select version();
+--------------------------+
| version() |
+--------------------------+
| 10.1.38-MariaDB-0+deb9u1 |
+--------------------------+

搜索apt的源發現沒有相應的libmysql-dev 之類的,搜索如下:

ljf@ljf:/var/www/python$ sudo apt-cache search libmysql
libglpk40 - linear programming kit with integer (MIP) support
libcrypt-mysql-perl - Perl module to emulate the MySQL PASSWORD() function
libmysql-diff-perl - module for comparing the table structure of two MySQL databases
libreoffice-base-drivers - Database connectivity drivers for LibreOffice
solr-common - Enterprise search server based on Lucene3 - common files
libmariadbclient-dev-compat - MariaDB database development files (libmysqlclient compatibility)
libmysql++-dev - MySQL C++ library bindings (development)
libmysql++-doc - MySQL C++ library bindings (documentation and examples)
libmysql++3v5 - MySQL C++ library bindings (runtime)
libmysqlcppconn-dev - MySQL Connector for C++ (development files)
libmysqlcppconn7v5 - MySQL Connector for C++ (library)
libmysql-java - Java database (JDBC) driver for MySQL
libmysql-cil-dev - MySQL database connector for CLI
libmysql6.4-cil - MySQL database connector for CLI
default-libmysqlclient-dev - MySQL database development files (metapackage)
libmysql-ocaml - OCaml bindings for MySql (runtime package)
libmysql-ocaml-dev - OCaml bindings for MySql (development package)
node-mysql - MySQL client implementation for Node.js

搜索出來的源感覺不是那麼對,但是有個源的名稱叫:libmariadbclient-dev-compat ,那麼會不會是要下載libmariadb的源文件呢,搜索下libmariadb對應的擴展看看:

ljf@ljf:/var/www/python$ sudo apt-cache search libmariadb
libmariadbclient-dev - MariaDB database development files
libmariadbclient-dev-compat - MariaDB database development files (libmysqlclient compatibility)
libmariadbclient18 - MariaDB database client library
libmariadbd-dev - MariaDB embedded database, development files
libmariadbd18 - MariaDB embedded database, shared library
libmariadb-dev - MariaDB Connector/C, development files
libmariadb-dev-compat - MariaDB Connector/C, compatibility symlinks
libmariadb2 - MariaDB Connector/C
default-libmysqlclient-dev - MySQL database development files (metapackage)

果然libmariadb的源文件和推薦命令十分相似,安裝試試:

apt-get install libmariadbd-dev
apt-get install libmariadbdclient-dev
apt-get install python-dev
pip install mysqlclient

執行完畢之後,測試:

ljf@ljf:/var/www/python$ python
Python 2.7.13 (default, Sep 26 2018, 18:42:22)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> exit()

成功引入無報錯,則代表正常安裝MySQLdb,記錄一下。


分享到:


相關文章: