繁体   English   中英

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

[英]is it necessary to install Requests library at Virtual Environment in python?

我是 python 新手,使用虚拟环境等。我在 C 驱动器中安装了 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 安装时从 Requests 库中获取包。 没关系吗?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM