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

开发pip模块发布到PyPI及Git平台需提交哪些文件到仓库

结论

你应该选择第4种方案。

原因说明

  • 首先排除选项3:src目录是你项目的核心源码,是所有构建产物的来源,必须提交到Git仓库,否则其他协作者拉取仓库后无法查看、修改代码,也无法自行构建出可用的pip包。
  • 再排除选项2:dist目录是执行python setup.py sdist bdist_wheel等构建命令后自动生成的产物目录,里面的压缩包、wheel文件都可以通过源码重新构建得到,属于临时生成文件,不需要提交到Git仓库。提交dist目录会无谓增加仓库体积,还容易出现不同版本构建产物冲突的问题,你只需要在每次发布PyPI前本地执行构建命令生成最新的dist内容即可。
  • 再排除选项1:除了venv虚拟环境目录外,项目运行、构建过程中还会生成很多不需要提交的临时文件,比如__pycache__缓存文件、*.pyc字节码文件、build构建目录、*.egg-info元信息目录、测试缓存目录等,这些都不应该提交到Git仓库,全量提交除venv外的所有文件会把大量无用文件上传到仓库。
  • 选项4保留的文件都是项目必须的核心文件:
    • src:项目核心源码
    • .gitignore:定义Git需要忽略的临时文件规则,避免无用文件被误提交
    • LICENSE:开源协议文件,明确项目的开源许可规则,是开源项目必备文件
    • README.md:项目说明文档,用于介绍项目功能、安装使用方法、贡献指南等信息
    • setup.py:pip包的元信息配置文件,是构建pip包的核心配置

补充建议

你可以在.gitignore文件中添加以下规则,避免临时文件被误提交:

# 虚拟环境
venv/
.venv/

# 构建产物
dist/
build/
*.egg-info/

# Python缓存
__pycache__/
*.pyc
*.pyo
*.pyd

# 测试相关
.pytest_cache/
.tox/
.coverage

内容的提问来源于stack exchange,提问作者udoyhasan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:54:03