Python离线安装包教程分享

 更新时间:2023年02月08日 10:14:45   作者:AdleyTales  
这篇文章主要介绍了Python离线安装包教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python机器学习NLP自然语言处理基本操作家暴归类

    Python机器学习NLP自然语言处理基本操作家暴归类

    本文是Python机器学习NLP自然语言处理系列文章,带大家开启一段学习自然语言处理 (NLP) 的旅程。本篇文章主要学习NLP自然语言处理家暴归类
    2021-09-09
  • Python与C语言分别解决完全平方数问题

    Python与C语言分别解决完全平方数问题

    完全平方数指用一个整数乘以自己例如1*1.2*2.3*3等依次类推,若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。完全平方数是非负数,而一个完全平方数的项有俩个,让我们用程序来练习一下
    2022-03-03
  • 利用Python实现热力图的绘制

    利用Python实现热力图的绘制

    热力图,是一种通过对色块着色来显示数据的统计图表。绘图时,需指定颜色映射的规则。本文主要用Python来实现热力图的制作,需要的可以参考一下
    2022-09-09
  • Python将list保存到文件的3种方法实例代码

    Python将list保存到文件的3种方法实例代码

    这篇文章主要给大家介绍了关于Python将list保存到文件的3种方法,Python中提供了文件操作的功能,可以通过打开和读写文件实现,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • 对Python的Django框架中的项目进行单元测试的方法

    对Python的Django框架中的项目进行单元测试的方法

    这篇文章主要介绍了对Python的Django框架中的项目进行单元测试的方法,使用Django中的tests.py模块可以轻松地检测出一些常见错误,需要的朋友可以参考下
    2016-04-04
  • 解决django FileFIELD的编码问题

    解决django FileFIELD的编码问题

    这篇文章主要介绍了解决django FileFIELD的编码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • scipy.interpolate插值方法实例讲解

    scipy.interpolate插值方法实例讲解

    这篇文章主要介绍了scipy.interpolate插值方法介绍,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • 跟老齐学Python之玩转字符串(2)更新篇

    跟老齐学Python之玩转字符串(2)更新篇

    本文是玩转字符串的续篇,继续对字符串的连接方法进行介绍,以及字符串复制、字符串长度、字符大小写的转换。非常不错的文章,希望对大家有所帮助
    2014-09-09
  • 详解Python中如何将数据存储为json格式的文件

    详解Python中如何将数据存储为json格式的文件

    这篇文章主要介绍了详解Python中如何将数据存储为json格式的文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python模块常用四种安装方式

    Python模块常用四种安装方式

    这篇文章主要介绍了Python模块常用四种安装方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10

最新评论