繁体   English   中英

导入错误:使用 pytest 时没有名为 pandas 的模块

[英]ImportError: No module named pandas when using pytest

我有一个具有以下结构的项目:

.
├── Pipfile
├── Pipfile.lock
├── rules
│   ├── __init__.py
│   ├── budget.py
│   └── tests
│       ├── __init__.py
│       └── budget_test.py

显然, budget_test.py正在测试budget.py模块。

from .. import budget

class TestBudget:
...

budget.py开始:

import pandas as pd

当我手动启动模块时,导入运行良好。 当我启动 pytest 时,我收到关于 Pandas 的 ImportError:

导入错误:没有名为 Pandas 的模块

尽管 virtualenv 已激活并且 pandas 是已安装软件包的一部分:

pip freeze

...熊猫==1.0.1 ...

pytest 找不到安装在虚拟环境中的软件包有什么原因吗?

令人惊讶的是,当python -m pytest成功时,运行pytest失败

通常的做法是使用python -m pytest能够找到当前环境中的所有模块。 更具体一点 - 这需要在包中找到模块。

您可以在相关的PEP-338 中阅读有关 -m 开关原理和行为的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM