Python离线安装包教程分享
作者:AdleyTales 发布时间:2023-08-03 18:16:40
Python离线安装包
下载pip包
pip download 你要下载的包名 -d 下载的路径
# example 结果会下载很多whl包
pip download httpie -d .
pip离线安装
pip install 包名 # 各种whl 默认要安装的最后一个安装
# 或者
pip download -d \home\packs -r requirement.txt
注意:
务器环境一般都为linux 环境,所以我们下载所需包的时候最好使用自己的虚拟机或其他相同的环境来进行下载。
第一步也可以pip freeze --all > requirements.txt
。在项目目录下新建一个whls文件夹(用来存储我们依赖包)然后在虚拟环境cmd命令下切换到whls目录
执行 pip freeze --all > requirements.txt 命 令 将安装包版本信息导入到requireents.txt文件中(该文件位置在执行cmd命令当前目录下,也就是whls下); 注意–all参数,加上此参数会将setuptools、urllib3包进行打包;如果不加,这两个不会打包
离线批量安装python包
随着网络安全越来越受重视,很多企业的开发、测试和生产环境都已经跟互联网隔离,这就导致python无法在内网直接使用pip安装第三方包,离线安装成为必备技能。
1 python包常见安装方法
1.1 直接从python源下载,然后手动安装
适合场景:
适合临时安装一两个包的场景。
优缺点:
效率低,经常会遇到需要外部依赖包的情况。
1.2 使用 pip 根据requirements文件下载安装包,到离线环境中安装
适合场景:
需要批量安装第三方包,软件部署有明确的requirements文件的场景。
优缺点:
可以批量下载和安装,一次性解决一台服务器上安装多个包的问题。
2 Python包分类和安装
Python包按照安装包的方式可以分为:wheel包、源码包(zip或tar.gz)、egg包。其中,wheel包和源码包比较常见,egg已经很少了。
2.1 安装wheel包
wheel包的命名格式为:{distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl。
名称 | 对应名称 | 解释 |
distribution | mysql_connector | 包名 |
version | 2.1.6 | 版本 |
bulid tag | 备注标签 | 可省略 |
python-tag | cp36 | 表示 cpython 3.6 版本 |
abi-tag | cp36m | abi Application Binary Interface应用程序二进制接口 |
platform | win_amd64 | platform 还可以是 anywin32 , linux_i386 , linux_x86_64, any 表示 跨平台 |
到达路径后根据不同文件后缀,操作如下:
pip install **.whl
例如:
pip install JPype1_py3-0.5.5.2-cp35-none-win_amd64.whl
2.2 安装源码包(zip或tar.gz)
下载模块包到安装地址(压缩文件zip或tar.gz),进行解压,到达指定位置进入模块文件夹,执行python setup.py install
例如:
下载 uwsgi 源码包
解压 tar -zxvf uwsgi.tar.gz
进入目录 cd uwsgi
使用python 安装 python3 setup.py install
2.3 安装egg包
先下载ez_setup.py,运行python ez_setup 进行easy_install工具的安装,之后就可以使用easy_install进行安装package
easy_install packageName
easy_install package.egg
3 批量离线安装包
3.1 制作requirement.txt,导出项目中所有依赖包
比如下载 django 1.8.11版本的包,requirements.txt的内容就是:
django==1.8.11
使用 pip freeze 会输出所有在本地已安装的包(但不包括 pip、wheel、setuptools 等自带包),若需要输出内容与 pip list 一致,需使用 pip freeze -all。
使用方法:
pip freeze > requirements.txt
适用场合:
由于 pip freeze 与 pip list 内容区别不大,所以,若想要用其作为工程依赖包列表,需要配合 Python 虚拟环境 virtualenv 使用。
3.2 将所有包下载到目标目录中
例如:想将包放在\home\packs目录下
pip download -d \home\packs -r requirement.txt
3.3 将文件打包后放到离线服务器上,并进行解压缩
pip install --no-index --find-links=\home\packs -r requirements.txt
来源:https://adleytales.blog.csdn.net/article/details/120460183
猜你喜欢
- 本文实例讲述了Flask框架中request、请求钩子、上下文用法。分享给大家供大家参考,具体如下:request就是flask中代表当前请
- 1.连接测试连接是否成功:import redisr = redis.Redis(host='192.168.136.102'
- 设计,用户说好,才是真的好!14期的友商联线,同事认为风格不美观,需要重新设计。这次,我们引入了用户调研,调研数据可以帮助我们快速决策!ED
- 我的坐标是深圳,2022年以来,大部分时候要求24小时,少部分时候要求48小时,更少的时候要求72小时,没有更长的情况。本文根据我的核酸检测
- 本教程配置好后一劳永逸,不用再配置,每次只需要选择 Python 解释器即可打开KBEngine的服务器项目文件夹(资产目录)其主要工程目录
- 最早大家都没有给链接加title的习惯,后来因为w3c标准普及,又集体加上了title。从一个极端走到另个极端,于是出现很多怪异现象。两方面
- 本人 python新手,使用的环境是python2.7,勿喷# -*- coding:utf8 -*-import random
- 1. 确认已经安装了NT/2000和SQL Server的最新补丁程序,不用说大家应该已经安装好了,但是我觉得最好还是在这里提醒一下。2.
- 你的SQL Server最近是否运行不正常?不,我指的不是我们肯定会遇到的通常的数据库和操作系统问题。我的意思是,你是否经历过服务器的反应迟
- 本文是小编针对JS删除数组里的某个元素这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容:删除数组指定
- Python是很好的爬虫工具不用再说了,它可以满足我们爬取网络内容的需求,那最简单的爬取网络上的图片,可以通过很简单的方法实现。只需导入正则
- 1. 背景在软件需求、开发、测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,要么需要手动制造一些数据。
- 题目描述原题链接 :35. 搜索插入位置 - 力扣(LeetCode) (leetcode-cn.com)给定一个排序数组和一个目标值,在数
- (asp.net的应用). 在网上一搜有很多此类文章,但我需要将公司的复杂的,较大的web应用也以此方式操作,比较的头大。一般的文章建议将b
- 本文实例讲述了PHP获取二叉树镜像的方法。分享给大家供大家参考,具体如下:问题操作给定的二叉树,将其变换为源二叉树的镜像。解决思路翻转二叉树
- 本文实例讲述了Python对列表排序的方法。分享给大家供大家参考。具体分析如下:1、sort()函数sort()函数使用固定的排序算法对列表
- 首先,必须有错误继续进行的声明On Error Resume Next 然后尝试简历jmail实例: Dim JMail Set JMail
- 本文介绍基于Python语言arcpy模块,实现栅格影像图层建立与多幅遥感影像数据批量拼接(Mosaic)的操作。首先,相关操作所需具体代码
- 去年5月至10月间,我和雅虎口碑网的前端主管:鄢学鹍(秦歌),一起翻译了这本《JavaScript语言精粹》。原书作者是JavaScript
- Translate From:stevesouders原文:高性能网站设计:不要使用@import在高性能网站设计的第五章,我简要的提到@i