一、前言及环境

1. 场景及整体思路

最近在做一个大数据项目,开发过程中用自己的机子安装了很多库,开发完之后需要部署到客户那边的环境中,但是客户那边的环境是不能联网的,于是就需要离线进行库的安装。

上网搜了一下,大概思路是:

  • 从可以联网电脑导出库的名称到文件;
  • 下载指定库到指定文件夹;
  • 将库名称文件和安装包拷贝到离线环境进行安装

整体流程如下图所示:

整个流程主要使用到库管理工具pip,我用的是python安装完已经存在的pip,没有pip的可自行安装。

2. 环境

  • win10 64bit
  • python 2.7.15
  • pip 18.1 for python 2.7

注意:后面发现很多问题都是pip版本太低造成的,所以在往下做之前,可以先升级一下pip为最新版本:

python -m pip install -U pip

二、联网下载库

1. 导出库信息

pip freeze > requirements.txt

这个命令是将已经通过pip安装的包的名称记录到requirements.txt文件中。

导出这个文件后,编辑文件,留下你需要的库,其他删除。

2. 下载库安装包

pip download D:\packages -r requirements.txt

注意:win10有可能因为写入权限的问题导致无法操作成功,可以直接进入目标文件夹然后执行:pip download -r requirements.txt

将requirements.txt中列出来的库下载到packages文件夹。

这里要注意,因为我的pip版本比较新,所以用的download,据说老一点的版本应该是install --download:

pip install --download D:\packages -r requirements.txt

注意:如果requirements.txt里面存在不能通过pip安装的库,下载过程会报错。

三、离线安装库

将requirements.txt和packages文件夹拷贝到需要离线安装的电脑,通过以下命令进行安装:

pip install --no-index --find-links=D:\packages -r requirements.txt

根据pip版本不同,里面的参数有可能是--find-link。

四、参考

1. pip下载保存Python包,pip离线安装

(完)

python使用pip离线安装库的更多相关文章

  1. pip离线安装软件包

    1. 首先一台主机上安装所有python包,然后运行如下命令下载依赖包: pip freeze > requirements pip download -r requirements 当然可以在 ...

  2. pip离线安装python包

    1 首先在一台能上网的机器上得到python包 1) 新建一个空目录,如 /home/ubuntu/zcy/ss,用来存储下载下来的所需安装包 2)下载安装包:pip install --downlo ...

  3. Python通过pip方式安装第三方模块的两种方式

    一:环境 python3.6 windows 10 二:常用命令 如果直接执行pip命令报错,说明pip不在path环境变量中 解决方法: python -m pip list 以下默认可直接使用pi ...

  4. Python 03 pip 的安装和使用

    原文:https://www.runoob.com/w3cnote/python-pip-install-usage.html 原文:https://www.jianshu.com/p/2be68ef ...

  5. python的pip快速安装代码

    pip install xx,经常由于网速,或者安装版本问题导致安装速度慢超时等问题, 现提供一个py镜像安装代码,安装库文件前执行下这个程序,可以很快下载 cmd 进入命令提示符 python .p ...

  6. Windows下Python工具pip的安装

    1.打开pip的文档官网 https://pip.pypa.io/en/stable/ ,进入installation.在installation里,我们需要的是get-pip.py这个脚本. 选中后 ...

  7. python中pip的安装

    1.下载路径如下 https://pypi.python.org/simple/ 在其中查找到pip的安装包:然后找到路径 https://pypi.python.org/simple/pip/ 2. ...

  8. Python3中用pip离线安装

    本文原创,转载请注明出处. Python3 中 离线安装 ① 生成已安装模块列表,默认存在C:\Users\Administrator下 pip freeze > requirements.tx ...

  9. python中pip的安装与更新

    python -m pip install --upgrade pip --force-reinstall

随机推荐

  1. 去掉WinLicense文件效验的方法

    去掉WinLicense文件效验的方法 --------------Breakpoints-------------- 地址 模块 活动 反汇编 注释------------------------- ...

  2. C#右下角弹出消息框

    打开QQ的时候,QQ新闻弹出窗体在屏幕的右下角就会慢慢升起一个小窗口,占用的地方不大,可以起到提示的作用.下面就让我们来看看,怎样用系统API来轻松实现这个功能.API原型函数:bool Animat ...

  3. 凡人视角C++之string(上)

    好久没有更新博客了,这段时间一直在忙图像处理的项目,近期空了下来.也是时候整合C++的相关内容,静心感受下编程语言的魅力.和大家共同探讨学习.我将以头文件的形式展开学习,且仅仅讲述相关接口的应用,至于 ...

  4. 基于axis1.4的webservice实例

    1.准备工作: 概念:SOAP(简单对象访问协议).WSDL(web服务描述语言).XML(可扩展标记语言).axis(阿帕奇可扩展交互系统) (1)     下载axis1.4,将axis1.4中的 ...

  5. Oracle的执行计划(来自百度文库)

    如何开启oracle执行计划 http://wenku.baidu.com/view/7d1ff6bc960590c69ec37636.html怎样看懂Oracle的执行计划 http://wenku ...

  6. Android应用的自动更新模块

    软件的自动更新一般都与Splash界面绑定在一起, 由于需要维护的软件界面很复杂, 一个Activity中嵌入ViewPager, 并且逻辑比较复杂, 索性重新写一个Activity, 现在的软件都很 ...

  7. metaspolit 命令大全

    一.msfconsole相关命令 二.database 三.autopwn自动化攻击工具 四.metaspolit常见渗透命令大全

  8. ansible 批量推送公钥

    这里我们使用ansible的playbook 的功能来推送秘钥 使用方法参见:http://blog.csdn.net/magedu_linux/article/details/48529645 这里 ...

  9. Vue(四):实例化第一个Vue应用

    实例化语法 var vm = new Vue({ // 选项 }) Vue 构造器中的内容 <!DOCTYPE html> <html> <head> <me ...

  10. Spring Security教程(五):自定义过滤器从数据库从获取资源信息

    在之前的几篇security教程中,资源和所对应的权限都是在xml中进行配置的,也就在http标签中配置intercept-url,试想要是配置的对象不多,那还好,但是平常实际开发中都往往是非常多的资 ...