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

WSL环境下使用uv可编辑安装自定义Python包后出现ModuleNotFoundError的问题求助

WSL环境下使用uv可编辑安装自定义Python包后出现ModuleNotFoundError的问题求助

我现在遇到了一个特别头疼的问题,在WSL环境里用uv管理Python包,可编辑模式安装自己的项目后,不管是运行安装好的脚本还是直接执行代码,都会报ModuleNotFoundError。明明安装过程没报错,包也在依赖列表里,实在摸不着头脑,来求助大家!

我的环境情况

  • 运行环境:WSL
  • 包管理工具:uv
  • Python版本:3.12
  • 已激活虚拟环境,项目以可编辑模式安装

项目配置与结构

pyproject.toml核心配置

我的pyproject.toml是标准结构,其中build-system和脚本配置如下:

[build-system]
requires = ["setuptools >= 61.0"]
build-backend = "setuptools.build_meta"

[project]
...

[project.scripts]
run-module= "my_module.main:start"

项目目录结构

所有子目录都包含自己的__init__.py文件,具体结构如下:

my_module/
├── pyproject.toml
├── ...
├── my_module/
     ├── __init__.py
     └── main.py
     └── models/
          ├── __init__.py
          └── search.py

代码导入方式

在main.py里我用的是绝对导入:

from my_module.models.search import SearchWithFilter

安装过程

我用这条命令完成可编辑安装:

uv pip install -e .

安装全程没有报错,执行uv pip list也能看到自己的包在列表里,状态为可编辑:

Package            Version    Editable project location
------------------ ---------- ----------------------------
annotated-types    0.7.0
beautifulsoup4     4.12.3
certifi            2024.12.14
charset-normalizer 3.4.1
idna               3.10
pydantic           2.10.4
pydantic-core      2.27.2
requests           2.32.3
soupsieve          2.6
my_module          0.0.1      /home/xxx/projects/my_module
typing-extensions  4.12.2
urllib3            2.3.0

遇到的错误

但是不管是运行安装好的脚本run-module,还是直接执行python3 main.py,都会触发以下错误:

Traceback (most recent call last):
  File "/home/xxx/projects/my_module/.venv/bin/run-module", line 5, in <module>
    from my_module.main import start
ModuleNotFoundError: No module named 'my_module'

我已经尝试过的排查方法

  • 完全重装了WSL环境
  • 重新安装了uv工具
  • 尝试将项目结构改成./src/my_module的标准布局,结果还是报同样的错误

而且这个项目模板在我工作电脑上是完全正常运行的,只有WSL环境出问题,实在找不到问题所在了,有没有大佬能帮我分析一下?

备注:内容来源于stack exchange,提问作者Hyn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 13:08:07