当前位置: 首页 > 知识库问答 >
问题:

方括号在pip安装中的含义是什么?

田博超
2023-03-14

我看到越来越多的命令如下:

$ pip install "splinter[django]"

这些方括号有什么作用?

共有3个答案

郤玉书
2023-03-14

非常确定这些是额外的设置工具:

https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-额外的可选功能及其依赖关系

有时项目具有“推荐”的依赖项,而不是项目的所有用途都需要这些依赖项。例如,如果安装了ReportLab,项目可能会提供可选的PDF输出,如果安装了docutils,则可能会提供re结构化文本支持。这些可选功能称为“额外功能”…

阳福
2023-03-14

万一另一个开发人员希望在他们自己的Python包部署中实现此模式,下面将进一步解释pip中的<code>括号〔〕</code>。

要从 pip 安装气流,我们使用以下命令:

pip install 'apache-airflow'

您可以通过以下方式安装气流的可选组件:

pip install 'apache-airflow[aws]'
#      [optional] -----------^

当我们在pypi中搜索apache气流时,请注意,可选的包不会显示:

pip search 'apache-airflow'

apache-airflow (1.10.9)                            - Programmatically author, schedule and monitor data pipelines
pylint-airflow (0.1.0a1)                           - A Pylint plugin to lint Apache Airflow code.
swe-airflow-tools (0.0.3)                          - Tools for Apache Airflow Application
airflow (0.6)                                      - Placeholder for the old Airflow package
...

您可以在 setup.py 脚本中看到这是如何在
setup.py - 定义extras_require的脚本中完成的。
右侧是这些可选子包的相关安装命令。

逄嘉禧
2023-03-14

您使用的语法是:

pip install "project[extra]"

在您的案例中,您正在安装spliter包,该包添加了对 [] )不是特定的语法,只是约定。实际上,您正在安装名为:“sprinter[django]”的软件包。

@chetner的解释:

命令pip install spliter django将安装两个名为spliter spliter[django]安装了一个包含对 django支持的 spliterpackage的变体。请注意,它与 django包本身无关,只是由 拆分包为启用的特定功能集定义的字符串。

 类似资料:
  • 问题内容: 我看到越来越多的命令是这样的: 这些方括号有什么作用? 问题答案: 您使用的语法是: 就您而言,您就是对的新增支持的软件包。方括号()不是特定的语法,只是约定。确实,您正在安装名为的软件包。 来自的解释: 该命令将安装两个名为和的软件包。,另一方面,安装的一个变体,其包含包 支持 对。请注意,它与程序包本身无关,只是程序包为启用的特定功能集定义的字符串。

  • 问题内容: 而且我仍然无法理解花括号的工作原理,特别是由于诸如简单程序这样的页面: http://wiki.python.org/moin/SimplePrograms 在各处使用大括号。我了解方括号和规则的圆括号,但是我不知道“定义字典”的含义或它们应该代表的含义。 问题答案: Python中使用“大括号”来定义字典。字典是一种将一个值映射到另一个值的数据结构,就像英语词典如何将单词映射到其定义

  • 问题内容: 我在弄清楚csv.dictreader的参数时遇到了麻烦,并且意识到我不知道方括号表示什么。 从文档中: 我希望对类实例化​​的参数进行总结。 谢谢 问题答案: 方括号表示这些参数是 可选的 。您可以忽略它们。 因此,在这种情况下,您仅 需要 将参数传递给。如果您要传递第二个参数,它将被解释为参数。第三个是,等等。 如果只想指定eg和,则必须显式命名关键字参数,如下所示: 有关关键字参

  • 问题内容: 我正在研究将数据存储在mongodb中的示例Go应用程序。这行代码(https://github.com/zeebo/gostbook/blob/master/context.go#L36)似乎访问了存储在大猩猩会话中的用户ID: 有人可以在这里给我解释一下语法吗?我知道这可以从会话中获取价值,但是接下来的部分是什么呢?为什么括号中的点后面是表达式?这是函数调用吗? 问题答案: 是,括

  • 问题内容: 在以下JavaScript代码中,有一个美元符号()。这是什么意思? 问题答案: 您的代码段看起来像是来自一种流行的JavaScript库(jQuery,ProtoType,mooTools等)的引用方法。 在JavaScript中使用它并没有什么神秘之处。只是一个有效的JavaScript标识符。 JavaScript允许使用大写和小写字母,数字和。在旨在用于机器生成的变量(如)。

  • 问题内容: jQuery中的“ $”符号代表什么? 问题答案: jQuery对象:) 从jQuery文档中: 默认情况下,jQuery使用“ $”作为“ jQuery”的快捷方式 因此,使用)或相同。