如何用tox正确调用已定义的开发可选依赖IPython?
解决Tox安装可选依赖IPython的问题
问题根源
你当前的配置存在一处关键错误:[testenv:py311]中的extras = ipython指定的是包名,但你在extras_require里定义的可选依赖组名称是localdev,而非包名ipython,这导致Tox无法识别要安装的依赖组。
方案一:修改配置文件永久生效
直接修正setup.cfg的testenv配置,将extras的值改为你定义的依赖组名称localdev:
[options] extras_require = localdev = ipython [tox:tox] env_list = py311 [testenv:py311] deps = <bunch of deps here> extras = localdev # 改为依赖组名称,而非包名
之后直接运行tox -e py311,Tox就会自动安装localdev组下的IPython。
方案二:命令行临时启用可选依赖
如果不想修改配置,可通过Tox的--extras参数临时指定要安装的依赖组,正确命令如下:
tox -e py311 --extras localdev
错误写法说明
你之前尝试的py311[localdev]、.[localdev]等写法均不符合Tox的语法规范,Tox环境名不支持这种括号后缀,--extras才是官方指定的传递可选依赖组的方式。
内容的提问来源于stack exchange,提问作者Raider of the lost BBS
相关产品推荐
相关产品推荐

