一、应用背景

由于一些电脑不存在联网环境,需要先在联网的电脑中下载好离线的Python库安装包1,通常是whl或者zip格式,然后将资源文件拷贝到不联网的电脑,用离线安装包的格式进行安装

有的库安装依赖关系复杂,需要按照特定的顺序对一系列Python库进行安装才能正确安装。可以通过pip--no-index --find-links=folder参数控制在本地搜寻依赖关系并完成安装2

众所周知,用pip freeze命令可以冻结当前环境的第三方库状态,然后再在另一台电脑上复刻环境。但是有时候如果不想复刻一个环境内的全部依赖包呢?

比如我只想安装pandas数据分析库、wxPythonGUI图形库、requests网络分析库,或者只安装其中的几个?为每一个库建立一个requirements.txt然后依次安装?那未免太麻烦了。

二、批量下载Python及依赖库

使用pip download命令可以下载指定的Python库及其依赖项,-d参数可以控制下载到指定的文件夹。

一些常见的且依赖关系复杂的Python库:

:: GUI库
pip download -d wxpython wxpython:: 3D图形库
pip download -d vtk vtk:: 数学库
pip download -d pandas pandas
pip download -d matplotlib matplotlib
pip download -d opencv opencv-python
pip download -d sympy sympy
pip download -d scipy scipy:: 网络分析
pip download -d requests requests
pip download -d bs4 bs4
pip download -d selenium selenium:: 办公自动化
pip download -d PyAutoGUI PyAutoGUI
pip download -d pywin32 pywin32
pip download -d windnd windnd
pip download -d pynput pynput:: 读取文档
pip download -d xlutils xlutils
pip download -d docx python-docx:: 数据分析
pip download -d jieba jieba
pip download -d xpinyin xpinyin
pip download -d qrcode qrcode:: 打包工具
pip download -d PyInstaller PyInstaller:: 37个依赖库!
pip download -d akshare akshare:: 59个依赖库!
pip download -d jupyter jupyter

三、批处理安装Python库

运行上面的下载命令后,会在当前文件夹生成一系列的文件夹,在这些文件夹中存有相应库的所有依赖包。

在这些文件夹同级别的路径下,创建一个批处理文件,可以命名为auto_install.bat,内容如下:

@echo off
title Auto Wheels Installer (by lishixian)
mode con cols=150 lines=30 & color b
for /d %%i in (*) do (for /r %%j in (%%i\*.*) do (pip install %%j --no-index --find-links=%%i))
pause

然后运行,就可以将批处理文件所在目录下的所有库全部安装完成了。

实际使用时,可以将整个文件夹携带,拷贝到需要安装的电脑上,移除不需要安装的Python包文件。然后运行批处理程序,就可以有选择地复刻需要的Python包环境

简单解读一下这段批处理命令3,这是一个双层循环:

第一层循环

for /d %%i in (*) do (...)

通过/d开关,对当前目录的所有文件夹进行遍历,文件夹路径存储到%%i中,然后执行do中的命令。

第二层循环

for /r %%j in (%%i\*.*) do (...)

通过/r开关,对%%i目录中的所有文件进行遍历,文件路径存储到%%j中,然后执行do中的命令。

内层命令

pip install %%j --no-index --find-links=%%i

对遍历到的每一个文件%%j,尝试进行pip安装,在%%i路径中查找安装包的依赖关系库。由于文件夹中的内容是通过之前的pip download -d path package建立的,所以该目录下必然存在该安装包的全部依赖库,所以可以顺利完成安装。

四、CMD一键完成版

CMD的命令语法和批处理略有不同,可以这样写:

for /r %i in (*) do pip install "%i" --no-index --find-links="%~pi"

五、pip配置文件永久生效

运行命令打开或新建pip配置所在文件:

notepad %HOMEPATH%/pip/pip.ini

加入段落4

[install]
no-index = true
find-links = D:/simple

之后使用pip install <name>的时候,都会从本地的D:/simple文件夹中查找名为name的库及相关依赖项。


  1. https://blog.csdn.net/Enceladuce/article/details/112471440 ↩︎

  2. https://blog.csdn.net/excelNo1/article/details/117733718 ↩︎

  3. https://blog.csdn.net/annita2019/article/details/122908812 ↩︎

  4. https://www.zhihu.com/question/533375345/answer/2490885028 ↩︎

批处理一键安装所有离线的Python库相关推荐

  1. win 10 pip 安装都超时_清华Anaconda 镜像恢复及一键安装气象常用的Python库

    欢迎订阅微信公众号:『气象学家』 清华Anaconda 镜像恢复使用了! 阅读建议 Python的版本和环境控制建议使用conda来管理,可以预先安装Anaconda"全家桶"或者 ...

  2. 坯子库无法一键安装插件没用_坯子库插件集下载-坯子插件库下载v2020.1 官方最新版-西西软件下载...

    坯子插件库是坯子库整合的一款sketchup插件集合程序,这款程序提供了sketchup插件的卸载.下载.加载的全套功能,就像是一个插件管家.此外坯子插件库还内置了超全的sketchup插件集,就算离 ...

  3. Windows 批处理 一键安装MySQL教程 MySQL绿色安装包下载

    我们在测试过程中,有时需要重复在新机器上安装MySQL服务,在这里给大家提供一个可以快速部署MySQL的批处理脚本可供参考.本篇文章以MySQL5.5.47版本为例,希望对大家有所帮助! 注:你要是对 ...

  4. windows10安装RDKit化学信息学python库(通过anaconda)

    RDKit是一款功能强大的化学信息学工具 推荐使用anaconda安装,安装时应当参考 1.官方安装指南 Rdkit :: Anaconda.org 2.中文教程 RDKit简介 - RDKit 中文 ...

  5. python如何安装pip3_如何在安装pip3以及第三方python库

    展开全部 一.先安装python3 1. 先到官方网站下载python3的安装包,去downloads/source/ 下载的e69da5e6ba9062616964757a686964616f313 ...

  6. Python 库安装

    文章目录 [ 1. 联网自动安装 ] 命令行下联网安装 软件内自动安装 [ 2. wheel 文件离线安装 ] 1. 进入库对应的 wheel 文件下载页面 2. 选择与自己环境匹配的 wheel 文 ...

  7. MobaXterm链接服务器+anaconda3安装+python3.8环境配置+TensorFlow2.4+python库的安装(简单)

    关于单幅图像无雨问题.找到了2017年IE文章<Removing rain from single images via a deep detail network>文章,源代码,数据集在 ...

  8. python的库怎么学习_怎样学习一个Python 库 ?

    什么是Python 库? python 自称是带电池的语言,在于其拥有大量的库,每个库都是某一行业比较顶尖的人才开发出来完成某一任务的代码集合.库提供一套解决方案,要用Python几乎离不开对几个库的 ...

  9. python库-加解密库PyCryptodome(之前的pycrypto)

    文章目录 python库-加解密库PyCryptodome 什么是pycrypto 什么是PyCryptodome 安装PyCryptodome demo 参考 python库-加解密库PyCrypt ...

最新文章

  1. JS实现HTML标签转义及反转义
  2. MacOS 终于可以完美使用 Podman 了!
  3. hive 的分隔符、orderby sort by distribute by的优化
  4. 后台开发经典书籍--大型网站技术架构:核心原理与案例分析
  5. 修改文件后git只用两步push文件
  6. CentOS 7 定时计划任务设置
  7. springmvc+swagger构建Restful风格文档
  8. 苹果涉嫌利用App Store打压屏幕时间应用竞争对手 已被投诉至欧盟
  9. mysql数据库应用模式与特点_MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述...
  10. 上班一族“黑话”辞典大曝光
  11. cocos判断鼠标点击_面试官:你可以用纯 CSS 判断鼠标进入的方向吗?
  12. UNIX系统中的文件共享
  13. 解决Win7系统无法睡眠问题
  14. 【计算机网络】手机连接电脑热点实现上网以及捕包
  15. java整合kafka做消息消费
  16. 可汗学院 统计学习第一天
  17. 不定期福利第二期讲王争:羁绊前行的,不是肆虐的狂风,而是内心的迷茫
  18. 科珀尼克:非营利项目回顾展
  19. LE-VINS:固态激光雷达增强的视觉惯性导航系统
  20. WPS Office 2019 For Linux 英文版改为中文版

热门文章

  1. C语言循环输入到输入over,Shell break和continue命令
  2. 中国真的需要企业协同平台吗?
  3. Troubleshooting BGP 免积分下载
  4. Java-蓝桥算法圆的面积,序列求和
  5. 利用python库stats进行t检验
  6. matlab制作打地鼠游戏,Python制作打地鼠小游戏
  7. ❤️手把手教你配置服务器板载raid❤️
  8. 3dmax2014植树插件_免费软件下载_3dsMax种树插件:Forest Pack Pro v6.2.1 For 2015-2020+资源库下载...
  9. Scanner 扫描器
  10. 实测通过,懒人专用,苹果手机投屏电脑快捷办法