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

Python pip打包:内部代码共享与setup.py模块安装异常咨询

关于Python内部打包与模块安装的问题解答

问题1解答

完全可以不用生成wheel文件。对于仅内部共享的代码,只要仓库里有setup.py文件,你和同事克隆仓库后直接执行pip install -e .就能实现可编辑安装。这种方式会把项目目录链接到Python的site-packages中,本地代码修改后能立即生效,非常适合团队内部协作开发,不需要额外打包发布到PyPI或生成wheel包。

问题2解答

你遇到的现象大概率是因为使用了可编辑安装(pip install -e .)导致的:

  • 执行pip install -e .时,setuptools会在Python的site-packages中创建一个指向你本地项目src目录的链接,而非将文件复制过去。这意味着Python可以直接访问src目录下的所有.py文件,包括你没在py_modules里指定的byemate.py,但这并不代表它被“安装”到了site-packages,只是能被Python导入而已。
  • 如果是执行普通安装pip install .却仍出现这个问题,检查项目中是否存在MANIFEST.in文件——若该文件包含src/*这类规则,会导致setuptools打包所有src下的文件;另外也可以排查setuptools版本,部分旧版本可能存在扫描逻辑的问题。

如果想要严格控制仅安装指定模块,有两种方案:

  • 移除package_dir={"": "src"}配置,将hellomate.py放在项目根目录,保持py_modules=['hellomate']即可。
  • 若要保留src目录结构,改用packages配合find_packages()并添加排除规则,或者明确在py_modules中列出所有需要的模块(比如py_modules=['hellomate', 'byemate'],如果两个模块都需要安装的话)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 00:01:30