安装蓝鲸时,MySQLdb引发的错误

环境,CentOS7.5 + Python2.7.5

导入 MySQLdb时报如下错误

 ImportError: /workdata/venv/lib/python2.7/site-packages/_mysql.so: undefined symbol: _ZTVN10__cxxabiv117__class_type_infoE
 

第一步:从官网下载源文件

wget https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip

或者

pip download MySQL-python
第二步:解压

unzip MySQL-python-1.2.5.zip && cd MySQL-python-1.2.5


第三步:python build
python setup.py build

第四步:重编译

g++ -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib64/mysql -L/usr/lib64 -lmysqlclient -lpthread -lm -lrt -ldl -lpython2.7 -o build/lib.linux-x86_64-2.7/_mysql.so
最关键的一步,原本是用gcc编译,改用g++编译

第五步:安装

python setup.py install
 

 

错误如下。

    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: /data/bkce/.envs/dataapi/lib/python2.7/site-packages/_mysql.so: undefined symbol: _ZTVN10__cxxabiv117__class_type_infoE
[10.248.56.249]20190311-105751 16   init bkdata trt table failed.

/data/bkce/.envs/dataapi/lib/python2.7/site-packages/ 

虚拟环境时dataapi

注意观察报错路径,如果是虚拟环境中的,需要先进入到虚拟环境中,然后进行安装。

完成上面步骤后,导入成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值