原文: Python Requirements.txt – How to Create and Pip Install Requirements.txt in Python
我们每天都要使用许多 Python 软件包来解决编码问题。以库 Beautiful Soup 为例,它并不是 Python 的默认库,需要单独安装。
许多项目都依赖于库和其他依赖项,而安装每一个库都很繁琐、耗时。
requirements.txt 是一个包含项目所需的软件包或库列表的文件,这些软件包或库都可以通过该文件安装。它提供了一个一致的环境,使协作变得更容易。
requirements.txt 文件格式
上图显示了创建的 requirements.txt 文件示例,其中包含安装包和版本的列表。
关键术语
到目前为止,我已经提到了一些你可能不知道的术语。以下是它们的含义,以及你在使用 requirements.txt 时会遇到的其他一些重要术语:
- 依赖项是程序正常运行所需的软件组件。它们可以是库、框架或其他程序。
- 软件包是一种将相关依赖项组合在一起的方法。它们使安装和管理依赖项变得更容易。
- 虚拟环境是一个包含 Python 解释器副本和特定项目所需的所有软件包的目录。
- Pip:这是 Python 的软件包管理器。你可以使用 Pip 安装、卸载和管理 Python 软件包。
如何创建 requirements.txt 文件
要创建 requirements 文件,必须先设置虚拟环境。如果你使用 Pycharm,虚拟环境(.venv)已经设置好了。但使用 Visual Studio Code,你必须自己创建虚拟环境。
你可以使用终端或命令提示符来创建 requirements 文件。以下是创建文件时需要遵循的步骤:
首先,打开终端或命令提示符。然后检查显示的文件路径是否是你的工作目录。请使用以下命令:
$ cd folder-name #cd - change directory
在上述命令中,将 folder-name 替换为要访问的目录名。
接着,运行这个命令:
$ pip freeze > requirements.txt
你会发现 requirement 文件被添加了。
输出如下:
这是你新创建的 requirements.txt 文件:
上图显示了可以使用的依赖项及其版本。
如何处理 requirements.txt 文件
现在我们有了 requirements 文件,你可以看到它由一长串不同的软件包组成。
要使用这些软件包,你必须先安装它们。你可以使用命令提示符或终端进行安装。
键入以下命令:
pip install -r requirements.txt
看起来像这样:
现在,所有依赖项都已安装,可以使用 requirements.txt 了。
使用 requirements.txt 的示例
在本例中,我们将使用beautifulsoup4
和requests
这两个库来返回网站的一些信息。
在上图中,我们可以看到 requirements.txt 文件中包含了两个库及其版本。现在我们可以使用这些库了,因为我们之前已经安装了它们。
- 从名为 bs4(beautifulsoup4)的软件包中导入 BeautifulSoup 库,同时导入 requests 库。
from bs4 import BeautifulSoup
import requests
- 为了从网站 URL 获取信息,我们使用
.get()
方法访问 requests 库。
web_data = requests.get("https://www.lithuania.travel/en/category/what-is-lithuania", headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"})
- 现在我们可以访问 URL,Beautiful Soup 库接受
web_data
并返回其中的所有 HTML 内容。
soup = BeautifulSoup(web_data.content, features="html.parser")
- 我选择返回的最终结果是 <p> 标记位于第一个位置 [0] 的元素。
news_info = soup.findAll("p")[0]
print(news_info.text
将一切融合在一起:
from bs4 import BeautifulSoup
import requests
web_data = requests.get("https://www.lithuania.travel/en/category/what-is-lithuania", headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"})
soup = BeautifulSoup(web_data.content, features="html.parser")
news_info = soup.findAll("p")[0]
print(news_info.text)
输出是这样的:
使用 requirements.txt 文件的好处
- 管理依赖关系:通过在 requirements.txt 文件中列出项目的依赖关系,你可以轻松查看需要哪些软件包以及它们需要的版本。
- 与他人共享项目:如果与他人共享项目,可以将 requirements.txt 文件包括在内,这样他们就可以轻松安装所需的软件包,可以节省他们的时间并降低挫折感,并有助于确保每个人都使用相同版本的软件包。
总结
在本文中,我们学习了如何创建 requirements.txt 文件,并概述了使用它的好处。
你也应该尝试用它来完成一些项目。如果你有任何问题,可以在 Twitter 上联系我💙。