问题已解决。教训是每个python package里面都需要加__init__.py
。
关键词
- Hint: make sure your test modules/packages have valid Python names.
- ModuleNotFoundError
- 移动了项目位置
错误信息
=========================================================================== 1 error in 0.11s ============================================================================
(venv) ➜ xueqiu git:(master) ✗ pytest testcase/test_main.py
========================================================================== test session starts ==========================================================================
platform darwin -- Python 3.7.7, pytest-5.4.2, py-1.8.1, pluggy-0.13.1
rootdir: /Users/zhengbangbo/Desktop/xueqiu
collected 0 items / 1 error
================================================================================ ERRORS =================================================================================
________________________________________________________________ ERROR collecting testcase/test_main.py _________________________________________________________________
ImportError while importing test module '/Users/zhengbangbo/Desktop/xueqiu/testcase/test_main.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
testcase/test_main.py:4: in <module>
from page.app import App
E ModuleNotFoundError: No module named 'page'
======================================================================== short test summary info ========================================================================
ERROR testcase/test_main.py
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
=========================================================================== 1 error in 0.11s ============================================================================
我的目录结构
可以看到我是有page.app这个模块的,就是不知道为什么pytest报错说发现不了?
找到但没用的解决方案
说是「重建工程」,但是我 File -> Invalidate Cache / Restart...
之后还是一样出错。
说是pytest存在一些问题,导致他会找虚拟环境以外的包。但是我找了一下,并不存在有叫page的包在外面。
(venv) ➜ xueqiu git:(master) ✗ pip3 uninstall page
WARNING: Skipping page as it is not installed.
(venv) ➜ xueqiu git:(master) ✗ pip uninstall page
WARNING: Skipping page as it is not installed.
➜ ~ pip3 uninstall page
WARNING: Skipping page as it is not installed.
➜ ~ pip uninstall page
WARNING: Skipping page as it is not installed.
我还修改了activate
因为怀疑是我的虚拟环境的问题,我去查了下我的虚拟环境的VIRTUAL_ENV。之前我把工程换了一个路径,导致这里存在问题一个BUG使得我的虚拟环境没有生效。然后我通过修改venv/bin/activate
文件修改好了。
VIRTUAL_ENV="/Users/zhengbangbo/Desktop/xueqiu/venv"
可能是修好了部分问题,但是ModuleNotFoundError依旧。
所以实在是摸不着头脑,我猜想这个和环境的一些配置有关,但是要怎么解决呢?