背景:
在arm架构的服务器里安装mysql-connector-python包,安装成功后,发现无法使用。
# 安装mysql-connector-python包
rpm -ivh --force --nodeps mysql-connector-python-8.0.22-1.el8.aarch64.rpm
#安装完成后,测试是否可用
python
Python 2.7.5 (default, Feb 5 2025, 15:33:05)
[GCC 8.5.0 20210514 (Red Hat 8.5.0-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
ImportError: No module named mysql.connector
查看了python库的路径,已经安装了mysql.connector
ls /usr/lib64/python2.7/site-packages/mysql/connector/
abstracts.py charsets.py constants.py cursor.py django/ __init__.pyo pooling.pyc version.pyc
abstracts.pyc charsets.pyc constants.pyc cursor.pyc errorcode.py locales/ pooling.pyo version.pyo
abstracts.pyo charsets.pyo constants.pyo cursor.pyo errorcode.pyc network.py protocol.py
authentication.py connection_cext.py conversion.py custom_types.py errorcode.pyo network.pyc protocol.pyc
authentication.pyc connection_cext.pyc conversion.pyc custom_types.pyc errors.py network.pyo protocol.pyo
authentication.pyo connection_cext.pyo conversion.pyo custom_types.pyo errors.pyc optionfiles.py utils.py
catch23.py connection.py cursor_cext.py dbapi.py errors.pyo optionfiles.pyc utils.pyc
catch23.pyc connection.pyc cursor_cext.pyc dbapi.pyc __init__.py optionfiles.pyo utils.pyo
catch23.pyo connection.pyo cursor_cext.pyo dbapi.pyo __init__.pyc pooling.py version.py
问题的关键在于:arm架构下,python库的安装路径与x86架构下不一样(大家可自行研究一下),这里解决办法是:
cp -r /usr/lib64/python2.7/site-packages/* /usr/local/lib/python2.7/site-packages/
再去测试一下,就可以使用了。
本题留两个作业:
1.arm架构下的 /usr/lib64 与 /usr/local/lib 路径的区别
2.rpm指定路径(/usr/local/lib/)安装是否可行