是否需要在python的虚拟环境中安装Requests库?

问题描述

我是python的新手,使用虚拟环境等。我在python驱动器中安装了python,添加了PATH变量并从那里开始工作。出于学习目的,我决定仅在项目目录中安装软件包。因此,我通过遵循文档在项目文件夹中创建了虚拟环境。我已经在Windows机器上以这种方式创建了它:

python -m venv my-env

之后,我激活了它:

my-env\Scripts\activate.bat

之后,我已经安装了Requests库(与文档中一样):

pip install requests

但是,我的问题是:为什么需要安装Requests库?如果将来在该新项目目录中创建新项目和新虚拟环境,是否需要再次安装它?

我安装了一些其他软件包,并且想创建requirements.txt。所以,我写道:

pip freeze > requirements.txt

现在,除了我需要的项目本身的库以外,该Requests库中的每个软件包也都位于该requirements.txt文件中。因此,如果我与其他用户共享我的项目,则在通过requirements.txt安装时,该用户将从Requests库中获取软件包。可以吗?

很抱歉有很多问题。基本上,我认为所有问题都是相关的和相关的。

解决方法

为什么需要安装请求库?

无需安装此库即可使虚拟环境正常工作。

如果将来在该新项目目录中创建新项目,新虚拟环境,是否需要再次安装它。

虚拟环境的想法是:您在为该项目创建的受控环境中工作。如果要在另一个项目中使用自己的虚拟环境,则必须再次安装它。这一点也不错:在每个项目中,您可能需要使用同一库的不同版本,或者甚至可能想要/需要删除一个项目,并且一个项目中发生的任何事情都不会影响另一个项目,这会很好。

除了项目本身所需的库之外,该Requests库中的每个程序包也都位于该requirements.txt文件中。

是的,freeze命令列出了所有已安装的软件包。这不仅包括pip install ...安装的内容,还包括那些软件包所需的依赖关系。这就是为什么有人建议手动编写需求文件的原因:这样可以更直接地直接需要哪些外部资源,而不是每个子依赖,您可能已经看到,每个子依赖变得有点笨拙。

如果我与其他用户共享我的项目,则在通过requirements.txt安装该用户时,将从请求库中获取软件包。可以吗?

从某种意义上说,可以通过任何一种方式安装这些软件包都可以。它们已明确列出,但如果不是,则还将下载并安装。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...