有必要在python中的虚拟环境中安装请求库吗



我是python的新手,使用虚拟环境等。我在C驱动器中安装了python,添加了PATH变量,并从那里开始工作。出于学习的目的,我决定只在我的项目目录中安装软件包。所以,我在我的项目文件夹中创建了一个虚拟环境。我在我的windows机器上创建了这样的东西:

python -m venv my-env

之后,我激活了它:

my-envScriptsactivate.bat

之后,我安装了请求库(如文档中所示(:

pip install requests

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

我安装了一些额外的软件包,我想创建requirements.txt。所以,我写了:

pip freeze > requirements.txt

现在,除了项目本身所需的库之外,请求库中的每个包也在requirements.txt文件中。所以,如果我与其他用户共享我的项目,该用户在通过requirements.txt安装时会从请求库中获得包。可以吗?

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

为什么需要安装请求库?

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

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

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

除了项目本身所需的库之外,请求库中的每个包也在requirements.txt文件中。

是的,冻结命令会列出所有已安装的程序包。这不仅包括pip install ...安装的内容,还包括这些包所需的依赖项。这就是为什么有些人建议手工编写需求文件的原因:这样一来,直接需要什么外部资源就更清楚了,而不是每个子依赖项,正如你可能看到的那样,理解起来有点笨拙。

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

从某种意义上说,这些软件包可以以任何一种方式安装。它们被明确列出,但如果没有,它们也会被下载和安装。

最新更新