我有一个项目,我想要VS Code的发现测试和其他测试功能来简化测试。我有一个问题,当我尝试发现测试时,测试文件中的导入会中断。
我的文件结构如下:
project\
__init__.py
package1\
module1.py
__init__.py
tests\
test.py
__init__.py
在test.py中,我有一行:
import project.package1.module1 as module1
我通过在根文件夹中调用python -m project
来运行项目,并且通过从根文件夹中调用python -m pytest project
能够成功运行测试。
当我运行VS Code的“发现测试”功能或尝试使用调试器逐步浏览文件时,收到错误消息“ ModuleNotFoundError:没有名为项目的模块”。
有人知道如何解决这个问题吗?
答案 0 :(得分:0)
我遇到了同样的问题,我能够在VSCode的终端中成功运行pytest
和python -m pytest
,但是发现失败。我的解决方案是通过以下方式实现导入失败
import sys
sys.path.insert(0, '/full/path/to/package1/')
from package1.module1 import module1
请注意,以project
文件夹为根打开了VSCode。
答案 1 :(得分:0)
我有同样的问题。对我有用的解决方案是引入一个var ptr = (T*)value.mValue;
文件,该文件包含相对于我的工作区文件夹的.env
条目。
PYTHONPATH
然后我在工作区设置中添加了一行,用于指定PYTHONPATH="path1:path2:pathN"
文件的位置。
.env