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及其扩展包

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值