如何在pyproject.toml中添加区分大小写的Python依赖包modAL
如何在pyproject.toml中添加区分大小写的Python依赖包modAL
我完全懂你的困扰——明明modAL和modal是两个完全不同的包,但在pyproject.toml里直接写modAL却会被解析成另一个,确实让人头疼!下面给你几个实用的解决方法,你可以根据自己用的包管理工具来选:
方法一:通用标准写法(符合PEP 621)
如果你的pyproject.toml用的是标准的[project]字段,直接把依赖写成带正确大小写的形式并指定版本范围,多数包管理工具会尊重这个大小写设置:
[project] # 其他配置项... dependencies = [ "modAL>=0.4.1", # 注意这里是大写的AL ]
如果这样还是被自动转成小写,就试试下面的方法。
方法二:用PEP 508 URL格式强制指定包
直接指定modAL的官方发布包链接,这样就能精准定位到目标包,不会和modal混淆。你可以去PyPI的modAL页面(比如选你需要的版本,比如v0.4.1),找到对应的wheel或源码包链接,然后写在依赖里:
[project] dependencies = [ "modAL@https://files.pythonhosted.org/packages/9c/6b/.../modAL-0.4.1-py3-none-any.whl", ]
小提示:链接可以从PyPI包页面的「Download files」区域复制,选适配你Python版本的wheel文件即可。
方法三:如果你用Poetry管理依赖
Poetry默认会把包名规范化为小写,这时候需要在[tool.poetry.dependencies]里显式指定name字段,强制使用正确的包名:
[tool.poetry.dependencies] python = "^3.7" modAL = { version = "^0.4.1", name = "modAL" }
这样Poetry就会安装正确的modAL包,而不是modal。你也可以先尝试用命令行添加:poetry add "modAL",如果自动转成小写了,再手动修改pyproject.toml成上面的格式就行。
备注:内容来源于stack exchange,提问作者benjamin_a
相关产品推荐
相关产品推荐

