在Linux系统上进行离线安装 Python3,通常是因为目标机器没有网络连接。以下是一个通用的步骤指南,帮助你在这种情况下成功安装Python 3:

下载安装包

  1. 选择一台有网络连接的机器:这台机器的操作系统应该尽可能与目标机器相同或相似(例如,相同的发行版和版本)。

  2. 下载Python 3源码包或其他适合你系统的预编译包

    • 访问Python官方网站下载你需要的Python版本的源码压缩包(.tgz文件),或者查找是否有提供适用于你的Linux发行版的预编译二进制文件。

    • 另一种方法是直接使用下面的 wget 命令下载:

      wget https://www.python.org/ftp/python/3.x.x/Python-3.x.x.tgz
      

      将上述URL中的 3.x.x 替换为你想安装的具体版本号。

编译安装Python3

  1. 解压文件

    • 使用以下命令解压:

      tar -xzf Python-3.x.x.tgz
      

      进入解压后的目录:

      cd Python-3.x.x
      
  2. 配置和编译

    • 配置构建环境:

      ./configure --prefix=/usr/local --enable-optimizations
      
    • 编译源代码:

      make
      
      • 1、如果make出现错误 make[1]: *** [Python/frozen_modules/abc.h] Error 1,可以去掉 --enable-optimizations 重试,因为加了 --enable-optimizations 参数可以优化 python 的代码运行速度, 加上这个参数需要 gcc 版本大于等于 8.1.0,不然 make 编译会报错。

      • 2、去掉 --enable-optimizations 参数编译后,如果出现下面的内容,不影响继续 make install,但是因为缺少了一些包,会影响后续部分 python3 功能的使用,请集合实际情况决定是否继续安装,对我本例来说继续 make install 完成后会出现警告 WARNING: Disabling truststore since ssl support is missing

The necessary bits to build these optional modules were not found:
_bz2                      _ctypes                   _ctypes_test           
_curses                   _curses_panel             _dbm                   
_gdbm                     _hashlib                  _lzma                  
_ssl                      _tkinter                  _uuid                  
readline                                                                   
To find the necessary bits, look in configure.ac and config.log.

Could not build the ssl module!
Python requires a OpenSSL 1.1.1 or newer

Checked 112 modules (33 built-in, 64 shared, 1 n/a on linux-x86_64, 1 disabled, 13 missing, 0 failed on import)
  • 安装编译好的软件:

    sudo make install
    

注意事项

  • 依赖问题:如果遇到缺少依赖库的问题,你需要先安装缺少的依赖。
  • 检查安装:完成安装后,可以通过运行python3 --version来确认是否正确安装了Python 3。

通过以上步骤,你应该能够在没有互联网连接的Linux机器上成功安装Python 3。


(END)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐