MySQL-Python安装问题小记

时间:2022-08-25 15:51:30

安装完mysql-python后import加载模块提示以下错误,

 

复制代码 代码如下:

ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory

 

于是google之,总结一下解决方法:

(1)在mysql-ython的安装目录下找到site.cfg,将

?
1
#mysql_config = XXXXXXXXXXXXXXXX

 

注释符号去掉,并填上mysql_config的地址

(2)将mysql/lib下所有关于libmysqlclient的so文件软链接到/usr/lib下。

 

?
1
2
ln -s /usr/local/mysql/lib/mysql/libmysqlclient* /usr/lib
ldconfig

 

这样在加载

 

?
1
import _mysql

 

的时候就不会出错了

 

ubuntu 安装mysql-python遇到的问题

版本是python 2.6

使用easy_install 安装MySQL-python

easy_install "MySQL-python==1.2.3"
提示:error: Setup script exited with error: command 'gcc' failed with exit status 1

需要安装 python-devel
sudo apt-get install python-dev
#apt-get install python-devel
再使用easy_install 安装就可以

如果使用python setup.py 安装,提示mysql_config找不到
EnvironmentError: mysql_config not found
需要安装下面2个开发包,需要注意的是apt-get里面是没有的,我使用新立德软件包管理器安装

libmysqld-dev
libmysqlclient-dev

安装完成以后需要修改MySQL-python-1.2.3文件夹下面的setup_posix.py中的第26行,

mysql_config.path = "mysql_config"改为mysql_config的路径

whereis mysql_config查找路径

mysql_config.path = "/usr/bin/mysql_config"

再使用
python setup.py build
python setup.py install
就可以

ubuntu root 权限
sudo -i

安装MySQL-python问题解决

今天在centos安装MySQL-python,结果报错,报错信息如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Running command /home/yunpeng.jiangyp/sys/python/bin/python -c "import setuptools;__file__='/home/admin/jyp/build/MySQL-python/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-MH5Aya-record/install-record.txt
running install
running build
running build_py
copying MySQLdb/release.py -> build/lib.linux-x86_64-2.7/MySQLdb
running build_ext
building '_mysql' extension
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 -I/usr/include/mysql -I/home/yunpeng.jiangyp/sys/python/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv
_mysql.c:44:23: error: my_config.h: No such file or directory
_mysql.c:46:19: error: mysql.h: No such file or directory
_mysql.c:47:26: error: mysqld_error.h: No such file or directory
_mysql.c:48:20: error: errmsg.h: No such file or directory
_mysql.c:88: error: expected specifier-qualifier-list before ‘MYSQL'
_mysql.c:102: error: expected specifier-qualifier-list before ‘MYSQL_RES'

google找到答案(http://*.com/questions/13044201/install-mysql-python-return-error-in-centos),需要先安装mysql-devel.x86_64,通过

sudo yum install mysql-devel.x86_64

再次安装成功

?
1
2
3
4
5
6
7
8
9
10
11
12
[yunpeng.jiangyp@v010105 ~]$ pip install MySQL-python
Downloading/unpacking MySQL-python
 Running setup.py egg_info for package MySQL-python
 
Installing collected packages: MySQL-python
 Running setup.py install for MySQL-python
 building '_mysql' extension
 gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 -I/usr/include/mysql -I/home/yunpeng.jiangyp/sys/python/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv
 gcc -pthread -shared build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib64/mysql -L/usr/lib64 -lmysqlclient_r -lz -lpthread -lcrypt -lnsl -lm -lpthread -lssl -lcrypto -o build/lib.linux-x86_64-2.7/_mysql.so
 
Successfully installed MySQL-python
Cleaning up...