python--批量离线安装python包

针对内网无法直接使用pip安装的情况, 在win上
使用 pip 根据requirements文件下载安装包,到离线环境中再使用 pip 安装

1. 首先,在项目中分析出所有依赖的库

  • pip freeze > requirements.txt # 该方法仅可以使用在虚拟环境中,会将python 解释器下的所有包都导出

2. 将所有包下载到DIR这个目录中

  • pip download -r requirements.txt -d /tmp

  • pip wheel -w DIR -r requirements.txt

    • 这两条命令的区别在于wheel 方式下载会将下载的包放入wheel 缓存,但缺点是wheel 不可以下载源码包
    • download 命令会查看wheel缓存,然后再去PyPI下载库,但download命令下载的包不会进入wheel缓存,download 的优点是可以下载源码包
    • 需要注意,使用wheel 方式安装可能会报错,因为有些包是源码包,不能被打包成wheel 格式
    • download 方法下载的包,不会对依赖性进行检查,这意味着,如果下载 Flask-PyMongo 这个包,只会下载该包,而不会下载 pymongo,经试验发现,download 适合补充wheel不可下载的包,两者搭配使用,才能将requirements文件的库完整的下载
    • 注意: 如果只使用download 方法下载,很有可能安装时候会报错

3. 将文件打包后放到离线服务器上,并进行解压缩

  • pip3 install --no-index --find-links=DIR -r requirements.txt
  • pip install --no-index --find-links=d:\python3.6\temp -r requirements.txt

命令说明

  • freeze 将依赖关系分析出来并 使用管道符导入到requirements 文件中
  • download 分析 requirements 文件,将所有包进行下载,通过 d 选项导入 DIR 文件夹
  • wheel 分析requirements 文件,并将所有包及其依赖包下载为 wheel 格式,通过 w 选项导入 DIR 文件夹中
  • –find-links 指定离线安装的文件夹DIR,也就是你下载好的包
  • 注意: --no-index 必须搭配 --find-links 使用

例如:
1, pip freeze >requirements.txt
2, pip download -r requirements.txt -d /tmp 或者pip install --download /tmp/packages -r requirements.txt
3, 批量安装已经导出的包

  • 将temp文件夹和requirements.txt拷贝到内网环境下的机器,temp文件夹放在Python3.6的根文件夹下,requirements.txt放在python3.6\scirpts,pip.exe也在该文件夹下。然后执行下边的命令
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值