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

Python包安装问题:setuptools无法识别无内层包的src结构

Python包安装问题解决(src直接含模块文件的结构)

问题原因

find_packages() 函数的逻辑是递归查找包含__init__.py的子目录作为可安装的包。你的目录结构中,src本身是包(包含__init__.py和模块文件),但没有子包目录,所以find_packages()无法识别这个结构,导致安装失败。

解决方案

方案1:手动指定包目录与包

修改setup.py如下:

from setuptools import setup

setup(
    name="your_package_name",  # 替换为你的包名
    version="0.1.0",
    package_dir={"": "src"},  # 声明根包的位置在src目录
    packages=[""],  # 指定根包(对应src目录)
)

方案2:使用find_namespace_packages(Python 3.3+)

如果需要更灵活的结构支持,可改用find_namespace_packages,它能识别直接包含模块的目录作为包:

from setuptools import setup, find_namespace_packages

setup(
    name="your_package_name",
    version="0.1.0",
    package_dir={"": "src"},
    packages=find_namespace_packages(where="src"),
)

效果验证

安装完成后,进入Python环境即可直接通过import file1或from file1 import xxx导入模块,无需带src前缀,符合Python包导入规范。

内容的提问来源于stack exchange,提问作者A H Bensiali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 16:23:12