氢氦反应堆 2023-09-12 14:55 采纳率: 25%
浏览 6

centos7为什么一定要到/usr/local/bin下去找python3?

centos7为什么一定要到/usr/local/bin下去找python3?

我将系统上的之前安装的python3删除后,按理来说应该找不到python3命令了。但系统会到/usr/local/bin下去找这个命令:

img

正常来说对于一个没有的命令,应该直接报没有:

img

这就导致哪怕我之后安装了python3,已经在/usr/bin下有了python3可执行文件,但是还是无法使用:

img

我必须在此为其创建连接才可以。我检查了/etc/profile,~.bashrc没有定义python3变量,alias也没有python3.

img

为啥系统这么执着?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-12 16:24
    关注

    【以下回答由 GPT 生成】

    问题原因是系统的环境变量$PATH设置了/usr/local/bin目录作为优先查找的路径,导致系统在查找命令时会首先在该目录下查找。这可能是由于之前安装的Python3没有正确地卸载而导致的。

    解决该问题的步骤如下:

    1. 确认/usr/local/bin目录下是否存在Python3可执行文件。在终端中执行以下命令:ls /usr/local/bin/python3*。如果存在,会显示类似/usr/local/bin/python3.x的结果。
    2. 如果存在Python3可执行文件,则可以直接创建/usr/bin目录下的符号链接来解决问题,跳至第3步。
    3. 如果不存在Python3可执行文件,则说明之前的卸载并不完全,需要进一步清理。

    4. 清理之前残留的Python3安装。运行以下命令以确保之前安装的Python3完全删除:

    5. sudo rm -rf /usr/local/lib/python3* 删除/usr/local/lib目录下的Python3相关文件
    6. sudo rm -rf /usr/local/include/python3* 删除/usr/local/include目录下的Python3相关文件
    7. sudo rm -rf /Library/Frameworks/Python.framework 删除/usr/local/Frameworks目录下的Python3相关文件
    8. brew doctor 运行Homebrew的自检,确保没有残留文件
    9. brew cleanup 清理Homebrew缓存

    10. 创建/usr/bin目录下的符号链接。运行以下命令以创建/usr/bin目录下的Python3符号链接:

    11. sudo ln -s /usr/local/bin/python3.x /usr/bin/python3 (将python3.x替换为实际存在的Python3可执行文件名称,例如python3.8)

    此时,系统应该能在任意路径下找到Python3命令。

    如果以上步骤没有解决问题,则可能还存在其他配置或环境问题,可能需要进一步检查/etc/profile、~/.bashrc、$PATH等文件和环境变量的设置。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 9月12日

悬赏问题

  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了