Failed to execute script entry_point与Command 'lsb_release -a'错误-安装miniconda踩坑总结

737 阅读1分钟

配置说明

  • 系统:Ubuntu 20.04 server 64bit
  • 自装python版本:3.9.11
  • Miniconda版本:Miniconda3 Linux 64-bit (Python 3.9)

问题说明

subprocess.CalledProcessError: Command 'lsb_release -a' returned non-zero exit status 1.
[15057] Failed to execute script entry_point

问题解决

其他人问题解决 (仅关于Failed to execute script entry_point错误)

  1. 硬盘空间不足(Anaconda:小于4GB,Miniconda:小于400MB)
    • 扩容后解决
  2. 内存不足(Anaconda可能有这个问题,Miniconda在我1G RAM上都能装)
    • 扩容后解决
  3. 安装文件损坏(常出现在断点续传下载)
    • 使用命令sha256sum ~/MinicondaMiniconda3-py39_4.12.0-Linux-x86_64.sh生成hash码(~ 代表安装文件所在目录)
    • 通过对比生成的hash码与官方展示的hash码来判断安装文件是否损坏
    • 若损坏,删除原安装文件以及已安装的文件夹
    • 重新下载安装

我的问题解决

  1. 问题根源
    • 因为我在系统自带Python3.8之外通过源代码编译的方式安装了Python3.9
    • 安装完在修改默认Python版本的时候,我将/usr/bin/python3清除,并通过Python3.9重新创建软连接
    • 从而导致/usr/share/pyshared/lsb_release.py文件第一行#!/usr/bin/python3.8对应文件丢失
  2. 解决方法
    • 将系统原文件/usr/lib/python3/dist-packages/lsb_release.py复制到/usr/bin即可
    • 即使用命令sudo cp /usr/lib/python3/dist-packages/lsb_release.py /usr/bin

总结

网络上的资料也许可以帮你解决这个问题,但也可以带来新的问题,必须要明白这个原理才可以尽可能的“一遍过”,Linux系统果然博大精深啊,我还需要多多学习。