我的软件包有一些可选安装
# for extra 'cmd'
cmd_line_requirements = [
'Click>=6.0'
]
设置函数对额外的定义如下:
extras_require={
'cmd': cmd_line_requirements,
},
并且entry_points定义如下:
entry_points={
'console_scripts': [
'threedigrid=threedigrid.cli:main [cmd]',
],
},
当我用pip安装软件包时
pip install --editable .
单击未安装,但是我的threedigrid.egg.info中的entry_points.txt包含以下内容:
[console_scripts]
threedigrid = threedigrid.cli:main [cmd]
我对此感到有些困惑,因为我认为只有在指定了[cmd]选项的情况下安装软件包时,才会生成控制台脚本。
which threedigrid
产量/home/<>/.virtualenvs/grid_test/bin/threedigrid
我是否误解了动态依赖项的工作原理?
最佳答案
入口点总是创建的,但是尝试在没有threedigrid
的情况下运行脚本[cmd]
会导致pkg_resources.DistributionNotFound
异常:
找不到“点击”分布,应用程序需要该分布