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

Python项目包导入路径配置:解决ModuleNotFoundError问题

Python模块导入问题:无需sys.path.append()的解决方案

项目目录结构

Project     
  |------package1
  |          |--------module1.py
  |          |--------module2.py 
  |------package2
  |          |--------module3.py
  |          |--------module4.py 
  |------Test
  |        |-----test.py

test.py内容

import package1.module1

运行错误

ModuleNotFoundError: No module named 'package1'

解决方案

1. 标记Project为Python包

在Project根目录、package1、package2、Test目录下都创建空的__init__.py文件,让Python识别这些目录为合法包结构:

Project     
  |------__init__.py
  |------package1
  |          |--------__init__.py
  |          |--------module1.py
  |          |--------module2.py 
  |------package2
  |          |--------__init__.py
  |          |--------module3.py
  |          |--------module4.py 
  |------Test
  |        |-----__init__.py
  |        |-----test.py

2. 从Project根目录运行脚本

打开终端切换到Project根目录,用模块方式运行test.py:

python -m Test.test

这种运行方式会自动将Project根目录纳入Python模块搜索路径,从而正常识别package1。

3. 用pip可编辑模式安装项目

在Project根目录创建setup.py文件,将项目作为可编辑包安装,让Python全局识别你的包:

setup.py示例代码:

from setuptools import setup, find_packages

setup(
    name="myproject",
    version="0.1",
    packages=find_packages(),
)

然后在Project根目录执行:

pip install -e .

安装后无论在哪个路径运行test.py,都能直接导入package1模块。

4. 设置PYTHONPATH环境变量

通过环境变量将Project根目录加入Python的模块搜索路径:

  • Linux/macOS终端:
export PYTHONPATH=/实际路径/Project:$PYTHONPATH
  • Windows cmd:
set PYTHONPATH=C:\实际路径\Project;%PYTHONPATH%
  • Windows PowerShell:
$env:PYTHONPATH = "C:\实际路径\Project;" + $env:PYTHONPATH

设置完成后,运行test.py即可正常导入模块。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 20:20:12