目录
  • Python离线安装包
    • 下载pip包
    • pip离线安装
  • 离线批量安装python包
    • 1 python包常见安装方法
    • 2 Python包分类和安装
    • 3 批量离线安装包
  • 总结

    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 通过colorama 设置控制台、命令行输出彩色文字
    • 使用Python中的Argparse实现将列表作为命令行参数传递
    • python命令行执行脚本找不到模块ModuleNotFoundError问题
    • 怎样用cmd命令行运行Python文件
    • Python无法安装包的一种解决(Requirement already satisfied问题)
    • Python3.8.2安装包及安装教程图文详解(附安装包)
    • python pip安装包出现:Failed building wheel for xxx错误的解决
    • win10下Python3.6安装、配置以及pip安装包教程
    • python命令行安装包详解