我的软件包有一些可选安装
# for extra 'cmd'
cmd_line_requirements = [
'Click>=6.0'
]
设置函数定义了这个额外的内容,如下所示:
extras_require={
'cmd': cmd_line_requirements,
},
入口点定义如下:
entry_points={
'console_scripts': [
'threedigrid=threedigrid.cli:main [cmd]',
],
},
当我用 pip 安装包时
pip install --editable .
未安装 Click,但我的 Threedigrid.egg.info 中的entry_points.txt 包含以下内容:
[console_scripts]
threedigrid = threedigrid.cli:main [cmd]
我对此有点困惑,因为我认为只有在指定了 [cmd] 选项安装包的情况下才会生成控制台脚本。 哪个 Threedigrid
产生
/home/<>/.virtualenvs/grid_test/bin/threedigrid
我是否误解了动态依赖关系的工作原理?
最佳答案
入口点始终会创建,但尝试在不带 [cmd]
的情况下运行脚本 thirdigrid
将导致 pkg_resources.DistributionNotFound
异常:
The 'Click' distribution was not found and is required by the application
关于python - 动态依赖项在 python setup.py 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49298594/