zoukankan      html  css  js  c++  java
  • 服务器上启动pip报错问题

    服务器上想用pip3安装个pandas跑程序。结果一直报错:

    Traceback (most recent call last):
      File "/usr/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
    

    参考文章:https://stackoverflow.com/questions/63414448/pip3-throws-undefined-symbol-xml-sethashsalt

    解决方案:在命令行里敲 LD_LIBRARY_PATH=/lib64/:$PATH 。pip3可以正常启动。

    -----------------------------------------分割线------------------------------------------

    在后续的使用中,发现每次xshell连上服务器后,依旧会报上面的错,重新输入上述指令后,才可以正常使用。

    其原因见这里:https://www.cnblogs.com/trying/archive/2013/06/07/3123577.html

    LD_LIBRARY_PATH变量是临时设置的,因此每次断开sh连接后,设定失效,需要重新设定。

    这里选用的方法是:

    1. 打开~/.bashrc文件
    2. 写入
    LD_LIBRARY_PATH=/lib64/:$PATH
    

    这里没有使用文章中提到的export,我对export的必要性不明了。便写入了前文中的指令。

    不过不写export好像没有效果,我后面找时间测一测

    总结一下,服务器上报undefined symbol: XML_SetHashSalt错时,很大可能是因为LD_LIBRARY_PATH变量不包含扩展包的路径。因此需要设定该变量。又每次断开重连服务器时,该变量还原,因此需要反复设定该变量。而~/.bashrc文件中写入的指令在每次启动sh时都会自动执行,因此将设定环境变量的指令写入此文件中,后面再连服务器跑脚本时,就没再报过该错误。

  • 相关阅读:
    PHP 魔术函数
    创建静态链接库
    Linux C 子进程的调度
    Android开发(三) android布局
    谷歌(Google)算法面试题
    Android开发(二) 详细了解android开发
    制作makefile文件
    SHELL编程
    5 Rules For A Good Web Design
    非托管代码方法的命名约定
  • 原文地址:https://www.cnblogs.com/kang-mei-208/p/14077442.html
Copyright © 2011-2022 走看看