最近在内网环境做开发,不能联网下载模块的痛苦难受至极,顺道整理一份自认为还完整的保姆级教程供大家参考。
测试环境:windows 10
python: python 3.8.10
一、离线安装pip
现象:本地cmd环境输入pip提示没有命令,可能会存在以下两种情况:
- 安装Python程序时没有安装pip
- 安装后没有配置环境变量,如何配置还请大家自行百度
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
重要:当手动下载模块时,一定要注意看当前模块是否存在依赖关系,如存在,需要把相应的依赖包下载到本地,或者安装时会报缺少依赖包无法安装。
![](https://i-blog.csdnimg.cn/blog_migrate/366c10c03a686e4069d4b50f5d03593a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a80e3be55f3eb3ec79e0afd568a203ef.png)
三、离线升级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开头的目录