linux离线安装Python3和Pip 从入门到放弃

Posted 梦想拒绝零风险

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux离线安装Python3和Pip 从入门到放弃相关的知识,希望对你有一定的参考价值。

背景

需要在远程服务器上安装Python3,但是这台服务器网络访问限制比较严格,无法直接通过访问外网链接安装Python3和Pip。安装下来坑比较多,特此记录。

下载和安装

下载

  1. 下载Python3的安装包
    访问https://www.python.org/ftp/python/,下载合适的安装包,比如我选的3.7.4
    在这里插入图片描述

  2. 下载Pip的安装包
    (1) 访问https://pypi.org/,搜索pip,选择pip安装工具的包,比如我这里是pip 21.1.1
    在这里插入图片描述
    (2) 从Release history中选择合适的版本,比如我选择的19.0.3
    在这里插入图片描述

    (3) 从Download files中选择源码包,点击下载
    在这里插入图片描述

  3. 下载Pip依赖的setuptools安装包
    Pip安装过程可能会出现缺少setuptools包的问题,需要下载此安装包,下载方法参考pip安装包的下载过程,不赘述。

安装

  1. 将上述安装包上传到内网服务器/tmp文件夹下
  2. 安装pip依赖的zlib和libffi-devel
    如果安装Pip或setuptools时提示缺少Module:’_ctypes’和’zlib’,需要安装zlib和libffi-devel:
    # 安装过程报错提示No module named ‘_ctypes‘:
    yum install libffi-devel -y
    # 安装过程报错提示Compression requires the (missing) zlib module
    yum install zlib
    yum install zlib-devel
    
    注意:zlib和libffi-devel需要在安装Python3之前安装,如果在安装Python3之后发现缺少这两者的问题,需要在安装完zlib和libffi-devel之后重新安装python3
    如果上述方法试了仍然报错缺少zlib,尝试下载安装zlib:https://sourceforge.net/projects/libpng/files/zlib/
  3. 安装python3
    sudo mkdir /usr/local/python3
    cd /tmp
    sudo tar -xzvf Python-3.7.4.tgz
    cd Python-3.7.4/
    sudo ./configure --prefix=/usr/local/python3
    sudo make
    sudo make install
    # 创建python3的链接
    sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3
    
  4. 安装setuptools
    cd /tmp
    sudo tar -xzvf setuptools-41.1.0.zip
    cd setuptools-41.1.0/
    sudo python3 setup.py install
    
  5. 安装pip
    cd /tmp
    sudo tar -xzvf pip-19.0.3.tar.gz
    cd pip-19.0.3/
    sudo python3 setup.py install
    

测试

在这里插入图片描述
import pip没有报错,即可认为可用了

内网服务器放弃使用pip吧

嘿嘿,等你尝试在内网服务器使用pip安装第三方库,你会痛苦地发现pip没有勇武之地。因为使用pip安装whl文件时很容易出现需要访问外网的情况,无一例外都会安装失败。
终极解决方案:下载源码包,解压,使用setup.py安装,例如安装flask:

sudo tar -xzvf Flask-1.1.2.tar.gz
cd Flask-1.1.2
sudo python3 setup.py install

看下战果如何:
在这里插入图片描述
很遗憾:如法炮制去安装werkzeug

参考文档

  1. Python3: ImportError: No module named ‘_ctypes’ when using Value from module multiprocessing

  2. python 安装 setuptools Compression requires the (missing) zlib module 的解决方案

  3. zlib库 安装与使用

  4. 安装zlib的过程(Compression requires the (missing) zlib module)

  5. Python安装setuptools时报Compression requires the (missing) zlib module错误解决

  6. python离线安装flask及其扩展包

以上是关于linux离线安装Python3和Pip 从入门到放弃的主要内容,如果未能解决你的问题,请参考以下文章

lonuz如何离线安装python3

python3离线安装第三方模块及其依赖包

Python2 + 3:如何安装从源代码和离线安装的 Python3 模块?

如何使用 windows 下载适用于 linux 的 pip 模块

Linux离线安装pip和numpy

Python离线项目迁移部署