最近在内网环境做开发,不能联网下载模块的痛苦难受至极,顺道整理一份自认为还完整的保姆级教程供大家参考。

测试环境:windows 10

python:   python 3.8.10

一、离线安装pip

现象:本地cmd环境输入pip提示没有命令,可能会存在以下两种情况:

  1. 安装Python程序时没有安装pip
  2. 安装后没有配置环境变量,如何配置还请大家自行百度

1.1 通过程序修复pip

最简单的办法运行Python安装程序,选择Modify选项重新修复环境,方法如下:

 如此简单的方法显然不符合我对自己的定位,介绍如何通过源码安装。

1.2 源码安装pip

 写文章之前必须得先啰嗦点内容,文件在哪儿下载,链接在此–> PyPI 进网站后直接搜pip即可出现结果

1.2.1 解压安装

注意:tar.gz结尾的文件,在windows上可以使用解压软件直接解压

J:\python3810>cd pip-21.3.1

J:\python3810\pip-21.3.1>python setup.py install
running install
running bdist_egg
running egg_info
writing src\pip.egg-info\PKG-INFO

   ... 中间过程省略 ...

Installed f:\sf_install\python38\lib\site-packages\pip-21.3.1-py3.8.egg
Processing dependencies for pip==21.3.1
Finished processing dependencies for pip==21.3.1

二、离线安装模块

2.1 pip download下载(推荐)

推荐使用本方法,在有互联网的环境下载相关模块,下载文件的格式为xx.whl文件,使用pip download会默认下载与其关联的其他依赖包,以pandas模块为例

2.1.1 下载模块

J:\python3810\pandas>pip download pandas

# 如果下载速度慢,可以加-i参数,临时使用国内源
pip download -i https://pypi.tuna.tsinghua.edu.cn/simple pandas

J:\python3810\pandas>dir
2018/06/15  15:04    <DIR>          .
2018/06/15  15:04    <DIR>          ..
2018/06/15  15:04        14,748,119 numpy-1.22.3-cp38-cp38-win_amd64.whl
2018/06/15  15:05        10,565,777 pandas-1.4.2-cp38-cp38-win_amd64.whl
2018/06/15  15:05           247,702 python_dateutil-2.8.2-py2.py3-none-any.whl
2018/06/15  15:05           503,520 pytz-2022.1-py2.py3-none-any.whl
2018/06/15  15:05            11,053 six-1.16.0-py2.py3-none-any.whl
               5 个文件     26,076,171 字节
               2 个目录 28,147,892,224 可用字节

2.1.2 安装模块

将离线包拷贝到内网环境中执行以下命令安装即可

# 模块没有依赖的情况直接使用install安装即可
pip install xxx.whl

# 模块有依赖包的把所有包放在一个文件夹下,执行以下命令安装
pip install --no-index --find-link=pandas pandas
  • –no-index   不检查包索引中可用信息
  • –find-links  从指定的目录下找离线包
  • 2.2 手动下载模块安装包(不推荐)

    登录 PyPI 网站搜索pandas


    重要:当手动下载模块时,一定要注意看当前模块是否存在依赖关系,如存在,需要把相应的依赖包下载到本地,或者安装时会报缺少依赖包无法安装。

    该模块所需的依赖包
    模块下载地址

    三、离线升级pip

    升级pip方法如下:

            1. pip · PyPI PyPi官网下载最新版本的pip-xx.whl文件,或者pip download也可以。

    J:\python3810\pandas>pip -V
    pip 21.3.1 from f:\sf_install\python38\lib\site-packages\pip (python 3.8)
    
    J:\python3810\pandas>pip download -i https://pypi.tuna.tsinghua.edu.cn/simple pip
    Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
    Collecting pip
      Downloading https://pypi.tuna.tsinghua.edu.cn/packages/96/2f/caec18213f6a67852f6997fb0673ae08d2e93d1b81573edb93ba4ef06970/pip-22.1.2-py3-none-any.whl (2.1 MB)
         ---------------------------------------- 2.1/2.1 MB 476.7 kB/s eta 0:00:00
    Saved j:\python3810\pandas\pip-22.1.2-py3-none-any.whl
    Successfully downloaded pip

            2. 将whl文件放到python安装目录,和python.exe目录同一层,不知道安装目录的,输入pip -V可以看到安装目录

            3. 管理员运行cmd,记住切换到安装目录

    f:\sf_install\python38>python -m pip install --upgrade pip-22.1.2-py3-none-any.whl

    黄色提示部分可以忽略

    常见报错

    WARNING:Ignoring invalid distribution -ip ( xx\lib\site-packages)
    
    进入python安装路径D:\python38\lib\site-packages,删除~ip开头的目录
    物联沃分享整理
    物联沃-IOTWORD物联网 » pip离线安装模块

    发表评论