Dan*_*iel 7 python python-import pytest visual-studio-code
我有一个项目,我想在其中使用 VS Code 的发现测试和其他测试功能来简化测试。我有一个问题,当我尝试发现测试时,测试文件中的导入会中断。
我有一个像这样的文件结构:
project\
__init__.py
package1\
module1.py
__init__.py
tests\
test.py
__init__.py
Run Code Online (Sandbox Code Playgroud)
在 test.py 我有一行:
import project.package1.module1 as module1
Run Code Online (Sandbox Code Playgroud)
我通过python -m project
在根文件夹中调用来运行我的项目,并且我能够通过python -m pytest project
从根文件夹中调用来成功运行测试。
当我运行 VS Code 的“发现测试”功能或尝试使用调试器单步执行文件时,我收到错误“ModuleNotFoundError: No module named project”。
有谁知道如何解决这个问题?
小智 11
我遇到过同样的问题。对我有用的解决方案是引入一个.env
文件来保存我的PYTHONPATH
条目,相对于我的工作区文件夹。
PYTHONPATH="path1:path2:pathN"
Run Code Online (Sandbox Code Playgroud)
然后,我在工作区设置中添加了一行,指定文件的位置.env
。
// ...
"python.envFile": "${workspaceFolder}/.env",
// ...
Run Code Online (Sandbox Code Playgroud)
小智 4
我遇到了同样的问题,我能够在 VSCode 的终端中成功运行,但发现失败pytest
。python -m pytest
我的解决方案是通过以下方式实现失败的导入
import sys
sys.path.insert(0, '/full/path/to/package1/')
from package1.module1 import module1
Run Code Online (Sandbox Code Playgroud)
请注意,VSCode 是以project
根文件夹打开的。
归档时间: |
|
查看次数: |
3816 次 |
最近记录: |