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

Python 3.6.4运行pytest遇ModuleNotFoundError问题求助

解决Python 3.6.4 + pytest的ModuleNotFoundError问题

结合你给出的项目结构,这种模块找不到的问题大多和Python的模块搜索路径或者pytest的运行配置有关,我给你几个针对性的排查和解决步骤:

1. 务必在项目根目录运行pytest

Python默认会把当前工作目录加入到模块搜索路径sys.path里。你的项目根目录是包含MANIFEST.in、README.md和company文件夹的那个目录——如果你的终端当前路径是company/api或者其他子目录,运行pytest时Python自然找不到company这个顶级模块。

解决方法:先通过cd命令切换到项目根目录,再执行pytest命令。

2. 确认__init__.py文件无异常

你项目里的每个子文件夹都有__init__.py,这是Python识别包的必要条件,但要注意:

  • 这些文件可以是空的,但不能有语法错误
  • 不要在__init__.py里写会干扰模块导入的代码(比如错误的导入语句)

如果某个__init__.py有问题,会导致整个包无法被正常识别。

3. 配置pytest的Python路径

如果因为某些原因无法在根目录运行pytest,可以通过两种方式强制把项目根目录加入搜索路径:

方式一:命令行参数

运行pytest时加上--pythonpath参数,指定你的项目根目录:

pytest --pythonpath=/absolute/path/to/your/project/root

方式二:使用pytest配置文件

在项目根目录新建一个pytest.ini文件,内容如下:

[pytest]
pythonpath = .

这样每次运行pytest时,都会自动把当前目录(项目根)加入到Python的模块搜索路径里。

4. 检查虚拟环境与依赖兼容性

  • 确保你激活了正确的虚拟环境,并且已经安装了所有依赖(包括pytest)
  • 注意Python 3.6.4已经不再维护,对应的pytest版本要选兼容的——推荐安装pytest<=5.4.3,更高版本的pytest已经不再支持Python 3.6了。你可以用这个命令安装:
pip install pytest==5.4.3

5. 先手动验证导入是否正常

在项目根目录打开Python交互环境,执行以下测试导入:

import company.api.auth

如果这个导入能成功,说明Python本身能找到模块,问题大概率出在pytest的配置上;如果导入失败,那就要先排查Python的路径问题(比如当前目录是否在sys.path里)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:03:35