You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyPI模块与Python库命名的特殊字符使用规则咨询

PyPI模块与Python库命名的特殊字符使用规则咨询

嘿,这个问题问到点子上了——给Python库起个合规的名字能避免后续不少踩坑的情况,我结合实际使用和PyPI的规则给你梳理清楚:

允许使用的字符(附注意事项)

  • 小写英文字母(a-z):这是最稳妥的选择,不管是PyPI上传还是Python导入都完全兼容,几乎不会出问题
  • 数字(0-9):可以用,但绝对不能以数字开头——比如123utils这种名字,Python里直接import 123utils会触发语法错误,根本没法导入
  • 连字符(-):PyPI支持,但导入的时候要换成下划线(_),比如你的库叫my-awesome-lib,导入时得写成import my_awesome_lib;而且PyPI会把-和_视为同一个名字,比如my-lib和my_lib会被判定为重名包
  • 下划线(_):Python导入和PyPI都完全支持,和连字符是等效的,如果你不想导入时换字符,直接用下划线更省心

绝对不能碰的字符

  • 点号(.):虽然Python里子模块可以用点(比如os.path),但作为库的顶级名称用点会严重混淆模块结构,PyPI也直接拒绝这类命名
  • 特殊符号:&、=、!、@、#、$这类符号一概不行,PyPI会直接驳回上传请求,而且Python导入语法也不支持这类字符
  • 大写字母:PyPI技术上允许,但强烈不推荐——不同操作系统对大小写的处理逻辑不一样,很可能出现安装了MyLib但导入mylib找不到的情况,徒增麻烦
  • 空格:这个不用多说,Python导入根本没法处理带空格的名字,PyPI也绝对不允许

额外小提示

尽量保持名字简洁易读,同时提前查一下PyPI上有没有重名(包括字符转换后重名的情况),不然上传的时候会失败;如果你的库暂时只自己用不上传PyPI,也建议遵循这些规则,方便以后扩展或者分享给别人。

备注:内容来源于stack exchange,提问作者Amin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 09:09:11