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

可编辑模式安装coolcustom包后无法导入问题求助

排查可编辑模式安装的Python包无法全局导入的问题

问题场景

通过py -3.11 -m pip install -e .以可编辑模式安装自制的coolcustom包后,无法在项目目录外导入该包。

项目结构:

Documents/
├─ testing_package/
│  ├─ coolcustom/
│  │  ├─ __init__.py
│  │  ├─ setup.py
│  │  ├─ main.py

setup.py代码:

from setuptools import setup, find_packages

setup(
    name='coolcustom',
    version='0.1',
    packages=find_packages(),
)

已尝试操作:

  • 卸载可编辑版本后正常安装,问题依旧
  • 未找到.egg-link文件
  • 发现site-packages存在相关安装文件

排查步骤与解决方案

1. 修正项目结构与setup.py位置

这是核心问题:你的setup.py放在了coolcustom/子目录下,而find_packages()默认从执行setup.py的目录开始扫描含__init__.py的子目录。此时它只会扫描coolcustom/内部的子目录,完全忽略了当前目录下的coolcustom包代码。

修复操作:
将setup.py移动到testing_package/根目录,调整后结构:

Documents/
├─ testing_package/
│  ├─ coolcustom/
│  │  ├─ __init__.py
│  │  ├─ main.py
│  ├─ setup.py

可选:修改setup.py明确指定要打包的包,避免扫描歧义:

from setuptools import setup, find_packages

setup(
    name='coolcustom',
    version='0.1',
    packages=find_packages(include=['coolcustom']),
)

2. 验证Python环境一致性

执行以下命令,确认安装包和测试导入用的是同一个Python环境:

  • 安装时的环境路径:py -3.11 -c "import sys; print(sys.executable)"
  • 项目外测试时的环境路径:py -3.11 -c "import sys; print(sys.executable)"

如果路径不一致,说明用了不同的虚拟环境或Python版本,需在目标环境重新安装。

3. 检查site-packages中的安装记录

找到Python环境的site-packages目录,查看coolcustom.egg-info或coolcustom.dist-info文件夹:

  • 打开top_level.txt,如果文件为空,说明打包未识别到包内容,回到步骤1修正结构。
  • 如果文件内有coolcustom,继续检查sys.path:
    在项目外执行:
    py -3.11 -c "import sys; print('\n'.join(sys.path))"
    
    确认site-packages目录在sys.path中,同时可编辑模式安装后应有指向项目包的.egg-link文件或路径。

4. 彻底重装包

先完全卸载旧安装:

py -3.11 -m pip uninstall -y coolcustom

然后在testing_package/根目录执行可编辑安装:

py -3.11 -m pip install -e .

最后在项目外测试导入:

py -3.11 -c "import coolcustom; print('导入成功')"

内容的提问来源于stack exchange,提问作者Viktor Veselý

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 16:32:19