【问题标题】:is it necessary to install Requests library at Virtual Environment in python?是否有必要在 python 的虚拟环境中安装 Requests 库?
【发布时间】:2020-09-20 04:07:28
【问题描述】:

我是 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

现在,除了项目本身所需的库之外,该请求库中的每个包也都在该 requirements.txt 文件中。因此,如果我与其他用户共享我的项目,该用户将在通过 requirements.txt 安装时从 Requests 库中获取包。没事吧?

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

【问题讨论】:

  • 如果您的项目要使用它,那么是的,必须安装它。如果不是,那么不是,不需要安装它。
  • 您还可以创建虚拟环境,使其内部的任何内容都可以访问“全局”解释器站点包(即已安装的库)。但是,我认为这样做比使用虚拟环境更重要
  • 我不明白为什么我会被否决。所有文档都保留了关于从该库安装的句子。好像需要安装一样。那么,我怎么能理解它是否需要:从文档(packaging.python.org/guides/…):“现在你在你的虚拟环境中,你可以安装包。让我们从 Python 包索引(PyPI)安装请求库:"
  • 1.这是一个示例,您不应该按照字母 2 进行操作。作为开发人员,您应该知道是否要使用上述库。我们肯定不可能知道这一点。
  • 我很困惑,因为其他一些文档提到了同一个库(请求库)。当不同的人提供示例时,他们通常使用不同的库。但是,在这种情况下,在激活虚拟环境后,所有人都在谈论同一个库。这就是为什么,我认为虚拟环境可能需要它。无论如何,感谢您的澄清。

标签: python python-requests virtualenv requirements.txt


【解决方案1】:

为什么需要安装 Requests 库?

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

如果我以后在新项目目录中创建新项目、新虚拟环境,是否需要重新安装它。

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

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

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

如果我与其他用户共享我的项目,该用户将在通过 requirements.txt 安装时从 Requests 库中获取包。没事吧?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 2018-04-19
    • 2019-01-08
    • 2016-07-04
    • 2018-02-20
    相关资源
    最近更新 更多