pip3 抛出未定义的符号:XML_SetHashSalt

我在 oracle Linux EL7 上有 python 3.6.8 我安装了 pip3 使用


yum install python36-pip

但是,每当我调用 pip3 时,它都会出现库错误


pip3


Traceback (most recent call last):

  File "/bin/pip3", line 8, in <module>

    from pip import main

  File "/usr/lib/python3.6/site-packages/pip/__init__.py", line 42, in <module>

    from pip.utils import get_installed_distributions, get_prog

  File "/usr/lib/python3.6/site-packages/pip/utils/__init__.py", line 27, in <module>

    from pip._vendor import pkg_resources

  File "/usr/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 35, in <module>

    import plistlib

  File "/usr/lib64/python3.6/plistlib.py", line 65, in <module>

    from xml.parsers.expat import ParserCreate

  File "/usr/lib64/python3.6/xml/parsers/expat.py", line 4, in <module>

    from pyexpat import *

ImportError: /usr/lib64/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so: undefined symbol: XML_SetHashSalt


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/bin/pip3", line 12, in <module>

    from pip._internal import main

  File "/usr/lib/python3.6/site-packages/pip/__init__.py", line 42, in <module>

    from pip.utils import get_installed_distributions, get_prog

  File "/usr/lib/python3.6/site-packages/pip/utils/__init__.py", line 27, in <module>

    from pip._vendor import pkg_resources

  File "/usr/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 35, in <module>

    import plistlib

  File "/usr/lib64/python3.6/plistlib.py", line 65, in <module>

    from xml.parsers.expat import ParserCreate

  File "/usr/lib64/python3.6/xml/parsers/expat.py", line 4, in <module>

    from pyexpat import *

ImportError: /usr/lib64/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so: undefined 

symbol: XML_SetHashSalt

慕的地6264312
浏览 285回答 4
4回答

Cats萌萌

libexpat.so.1指向错误的位置。固定它export&nbsp;LD_LIBRARY_PATH=/lib64/:${LD_LIBRARY_PATH}ldd&nbsp;/usr/lib64/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;linux-vdso.so.1&nbsp;=>&nbsp;&nbsp;(0x00007fff073f1000) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libexpat.so.1&nbsp;=>&nbsp;/lib64/libexpat.so.1&nbsp;(0x00007f9ba53ce000) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libpython3.6m.so.1.0&nbsp;=>&nbsp;/lib64/libpython3.6m.so.1.0&nbsp;(0x00007f9ba4ea9000) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libpthread.so.0&nbsp;=>&nbsp;/lib64/libpthread.so.0&nbsp;(0x00007f9ba4c8d000) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libc.so.6&nbsp;=>&nbsp;/lib64/libc.so.6&nbsp;(0x00007f9ba48bf000) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libdl.so.2&nbsp;=>&nbsp;/lib64/libdl.so.2&nbsp;(0x00007f9ba46bb000) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libutil.so.1&nbsp;=>&nbsp;/lib64/libutil.so.1&nbsp;(0x00007f9ba44b8000) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libm.so.6&nbsp;=>&nbsp;/lib64/libm.so.6&nbsp;(0x00007f9ba41b6000) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/lib64/ld-linux-x86-64.so.2&nbsp;(0x00007f9ba5807000)

翻阅古今

我有完全相同的错误。系统信息装有 CentOS 7.9 的虚拟机Python 3.6解决方案我们安装了另一个软件,它带有自己的 libexpat 版本。我们还修改了环境变量 LD_LIBRARY_PATH 以包含该软件的 lib 目录。这导致 pip加载了错误的库。取消设置 LD_LIBRARY_PATH/从 LD_LIBRARY_PATH 中删除软件后,一切都很好。

侃侃无极

我使用的是 Python 3.6,我尝试使用 PIP 安装模块。我收到以下错误。导入错误:/opt/rh/rh-python36/root/usr/lib64/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so:未定义的符号:XML_SetHashSalt在 ldd 后面加上查找映射的路径。ldd /opt/rh/rh-python36/root/usr/lib64/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so检查映射 - libexpat.so.1。在我的例子中,它指的是不正确的 oracle 路径——/u01/oracle/product/12.1.0.2/lib/libexpat.so.1所以我在上面的目录中重命名了libexpat.so.1。重命名后,再次给 ldd ,它应该指向 /lib64/libexpat.so.1更正映射后,我就可以进行 pip 安装了。谢谢大家的帮助。

红颜莎娜

你是如何安装 Python 3 的?在我的 Oracle Linux 7 安装中,我从 yum.oracle.com 上的 ol7_latest 安装了 python3:$ yum info python3Installed PackagesName&nbsp; &nbsp; &nbsp; &nbsp; : python3Arch&nbsp; &nbsp; &nbsp; &nbsp; : x86_64Version&nbsp; &nbsp; &nbsp;: 3.6.8Release&nbsp; &nbsp; &nbsp;: 13.0.1.el7Size&nbsp; &nbsp; &nbsp; &nbsp; : 39 kRepo&nbsp; &nbsp; &nbsp; &nbsp; : installedFrom repo&nbsp; &nbsp;: ol7_latest在没有安装 python36-pip 的情况下,pip3 可以按预期工作,例如:$ pip3 install --user cx_OracleCollecting cx_Oracle&nbsp; Using cached https://files.pythonhosted.org/packages/16/1d/36ecde56e0522f1a1cea7b4d4333f88b1062e0c5287fc67f522ceacc053c/cx_Oracle-8.0.0-cp36-cp36m-manylinux1_x86_64.whlInstalling collected packages: cx-OracleSuccessfully installed cx-Oracle-8.0.0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python