当我阅读英雄主义者python库时,我看到了两种安装方式,取决于您想要使用的模板。
https://github.com/adamchainz/heroicons#jinja-templates
告诉我
python -m pip install heroicons[jinja]
https://github.com/adamchainz/heroicons#django-templates
告诉我
python -m pip install heroicons[django]
我大致理解这个目的。WHich是基于对目标模板的选择而安装的。
然而,我感兴趣的是实现。
代码库如何读取安装选择并进行相应的选择?
这是否意味着会有两个不同的pypi?但https://pypi.org/project/heroicons/的情况似乎并非如此
发布于 2022-03-16 05:15:15
在使用pip安装时,setuptools也用于下载所需的依赖项。setuptools的文档可以找到这里。
方括号是在setuptools中定义额外需求的一种方法。正如您所提到的,它不是pypi中的一个单独的包,它是一个带有两个附加参数的包,用于定义额外的可选依赖项。
您可以看到它是如何从github上的setup.cfg文件实现的:
[options.extras_require]
django =
django >= 2.2
jinja =
jinja2 >= 2.8意思是,在本例中:pip install heroicons[django]等同于pip install heroicons django>=2.2
发布于 2022-03-23 02:59:30
在安装时,这两个命令都有很大的不同,除非您指定英雄jinja2,它还会将jinja2 >= 2.8安装为依赖项。在项目中使用jinja模板需要这样做。如果您单独安装jinja并运行pip install英勇的still,您仍然可以使用带有英雄图标的jinja模板。
对于这些模板,运行时实现是不同的。[ 请参阅这里 ]
https://stackoverflow.com/questions/71447788
复制相似问题