Python 用pip批量安装包 requirements.txt(python查看安装的第三方扩展包)| 利用requirements.txt离线安装依赖包

一、python用pip批量安装包

python查看安装的第三方扩展包,就是使用命令 pip freeze

在已经配置好的一台机器上,将需要的包导出到requirements.txt

./pip freeze > requirements.txt

此种方式会将环境中所有的包都打包进去,适合单虚拟环境(每个项目都处在不同的虚拟环境里,这个环境里是这个项目所需要的所有包)。因此,如果不是Python虚拟环境Virtualenv。我们不推荐这么使用,推荐使用 使用pipreqs 写入requirements.txt。

pip安装包的方式中,有如下一种安装方式:

pip install -r requirements.txt

文件requirement.txt里面内容的格式和pip freeze的格式完全一样。因此我们可以将pip freeze的内容输出至requirements.txt。

推荐如下使用方式

./pip freeze | tee requirements.txt # 输出本地包环境至文件
./pip install -r requirements.txt # 根据文件进行包安装

pip freeze 为什么比 pip list 的包少几个呢?

因为pip , wheel , setuptools 等包,是自带的而无法(un)install的。考虑到pip freeze的用途,所以这些包并没有显示。

ps:
如果一定要用pip freeze来显示所有包,可以加上参数-all,即pip freeze -all

二、[推荐]使用pipreqs 写入requirements.txt

使用pipreqs 写入requirements.txt,只是程序中所用到的包,并不是电脑中安装的所有的包。

pip install pipreqs

cd 到程序所在的文件夹位置
执行下面的语句,Windows下得加encoding=utf8,不然会出现编码问题。

pipreqs ./ --encoding=utf8 

三、利用requirements.txt离线安装依赖包

  1. 下载离线的包到指定目录
    将requirements.txt中导入的包离线下载到 package_tmp_dir 文件夹
pip wheel -w package_tmp_dir -r requirements.txt
pip download -d package_tmp_dir -r requirements.txt
  1. 安装离线的包
pip install --no-index --find-links=package_tmp_dir  -r requirements.txt

1. 使用 pip wheel 实现 Python 依赖包的离线安装

Wheel 也是一种 built 包,而且是官方推荐的打包方式。也许你曾经遇见或使用过 egg 包,但现在 wheel 是官方推荐的打包方式(https://wheel.readthedocs.io/en/stable/)。
wheel 包的优点:
    1.更快地安装纯 Python 和本机 C 扩展包。
    2.避免安装时执行任意代码。 (避免 setup.py)
    3.在 Windows 或 macOS 上安装 C 扩展不需要编译器。
    4.为测试和持续集成提供更好的缓存。
    5.创建 .pyc 文件作为安装的一部分,以确保它们与使用的 Python 解释器匹配。
    6.跨平台和机器的更一致的安装。

没有网络连接, 借助 wheel把整个 Python 应用做成离线安装包。

安装 wheel:

pip install wheel

下载依赖包的 wheel 文件

pip wheel -r requirements.txt

默认情况下, 上述命令会下载 requirements.txt 中每个包的 wheel 包到当前目录的 wheelhouse 文件夹, 包括依赖的依赖。

在你的安装脚本中执行:

pip install --use-wheel --no-index --find-links=wheelhouse -r requirements.txt

2. 下载命令

一、对于单个包的安装
1、离线
(1)pip离线下载
pip download 你的包名 -d “下载的路径(windows下双引号来表示文件夹)”

pip download pymysql -d "D:\pipDownloadTest"

(2)pip 离线安装
pip install 包路径

pip install PyMySQL-0.9.3-py2.py3-none-any.whl

2、在线

pip install pymysql

二、对于多个包的安装与下载
1、离线
离线下载

pip download -d packages -r requirements.txt

离线安装

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

2、在线

pip install -r requirements.txt

总结:多个包下载就多了一个 -r requirements.txt。

3. pip download 和 pip wheel 这两个命令的区别

  1. 下载的文件格式不同
  • pip download 下载的是源代码的压缩包,通常是 .tar.gz 格式
  • pip wheel 下载的是编译好的 wheel 二进制包,以 .whl 作为文件扩展名
  1. 是否编译
  • pip download 仅仅下载源码,不会编译
  • pip wheel 会自动为所支持的平台编译Wheel包
  1. 下载位置不同
  • pip download 会下载到当前目录
  • pip wheel 默认下载到 ~/.cache/pip/wheels 目录
  1. 用途不同
  • pip download 用于获取源码包以便查看或自定义编译
  • pip wheel 常用于离线环境,下载好Wheel包后直接pip install使用
    所以,简单来说:
  • 需要源码包 - 使用pip download
  • 需要离线安装 - 使用pip wheel
    两者有不同的使用场景。

四、pip install 工作常见报错

Python.h: No such file or directory报错

centos7 pip3 安装psycopg2出错

参考URL: https://www.jianshu.com/p/fbbe3bdf1905
原因是:

As mentioned in psycopg documentation http://initd.org/psycopg/docs/install.html

  • C compiler
  • Python header files

没有安装python的环境:
For apt (Ubuntu, Debian…):

sudo apt-get install python-dev # for python2.x installs
sudo apt-get install python3-dev # for python3.x installs
For yum (CentOS, RHEL…):

sudo yum install python-devel # for python2.x installs
sudo yum install python3-devel # for python3.x installs

  • 33
    点赞
  • 250
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
安装 requirements.txt 文件中列出的 Python 依赖库,你可以按照以下步骤进行操作: 1. 首先确保你的机器上已经安装pip 工具。pipPython 官方推荐的第三方库管理工具,用于在 Python 环境中安装、升级、卸载第三方库。你可以通过在终端中运行以下命令来检查 pip 是否已安装: ``` pip --version ``` 如果没有报错并显示 pip 的版本号,那么 pip 已经安装成功。 2. 确认你的 requirements.txt 文件已经准备好,并位于你的工作目录中。 3. 打开终端,并进入你的工作目录。 4. 运行以下命令来安装 requirements.txt 中列出的依赖库: 对于使用 yum 管理器的系统(如 CentOS、RHEL): ``` sudo yum install python-devel # for python2.x installs sudo yum install python3-devel # for python3.x installs ``` 对于使用 apt-get 管理器的系统(如 Ubuntu、Debian): ``` sudo apt-get install python-dev # for python2.x installs sudo apt-get install python3-dev # for python3.x installs ``` 对于使用 pip 的系统: ``` pip install -r requirements.txt ``` 这将会根据 requirements.txt 文件中列出的依赖库信息,自动下载并安装所需的库。 5. 等待安装完成后,你的 Python 依赖库就已经成功安装了。 请注意,根据你的操作系统和 Python 版本,你可能需要选择适合的命令来安装相应的依赖库。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Pythonpip批量安装包 requirements.txtpython查看安装第三方扩展)| 利用requirements.txt离线...](https://blog.csdn.net/inthat/article/details/117026589)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [python环境中使用 requirement.txt 安装依赖](https://blog.csdn.net/hbqjzx/article/details/131138022)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值