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

基于setup.py打包跨文件导入函数时报“No .egg-info directory found”错误

问题解决方法

报错原因

你当前使用的find_packages()默认会扫描项目根目录下的Python包,但你的所有可导入包都存放在src目录下,setuptools找不到合法的包结构,因此无法生成.egg-info元数据目录,触发报错。

解决步骤

  • 第一步:修改setup.py内容,指定src为包根目录,修改后完整代码如下:
from setuptools import setup, find_packages

setup(
    name='example',
    version='0.1.0',
    packages=find_packages(where="src"),
    package_dir={"": "src"}
)
  • 第二步:确认src下的两个子目录deep_learning、utils中都保留空的__init__.py文件,当前你的目录结构已经满足要求,无需额外修改。
  • 第三步:回到项目根目录MachineLearning,重新执行安装命令,如果遇到临时目录权限问题,可以追加--user参数:
pip install -e .
# 若仍报错执行下方命令
# pip install -e . --user
  • 第四步:测试导入,安装完成后在dnn.py中直接使用下方语句即可调用目标函数:
from utils.preprocessing import train_test_split

补充说明

该配置不需要修改任何系统环境变量,其他用户克隆你的仓库后仅需同样在根目录执行一次pip install -e .即可正常使用所有跨包导入功能。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:09:02