2017-08-16 55 views
0

进行测试时,我有一个包含类和函数和缺少必要的依赖与py.test

if __name__ == "__main__": 
    ... 

构建一个python文件。我想用py.test来测试这个文件中定义的类。对于我的第一个“hello world”测试,我的测试文件只导入要测试的文件。在PyCharm

运行py.test在

raceback (most recent call last): 
    File "[...]/unittest/datageneration_test.py", line 1, in <module> 
    from main.datageneration import * 
    File "[...]/main/datageneration.py", line 1, in <module> 
    import pandas as pd 
    File "[...]/lib/python3.6/site-packages/pandas/__init__.py", line 19, in <module> 
    "Missing required dependencies {0}".format(missing_dependencies)) 
ImportError: Missing required dependencies ['numpy'] 

我的文件但是结果与试验时,有import语句

import pandas as pd 
import numpy as np 
from scipy.special import expit 
import sys 
import os 
import scipy.io.wavfile as wav 
import json 
import uuid 

我畅达environment.yml是

channels: 
- conda-forge 
- defaults 
dependencies: 
- pandas=0.20.3 
- numpy=1.13.1 
- ggplot=0.11.5 
- python=3.6.2 
- pytest=3.2.1 

什么这里是问题吗?

+0

希望它会帮助https://stackoverflow.com/questions/42973666/importerror-missing-required-dependencies-numpy – Anup

+0

如果你是从conda环境运行,你需要指出你的pycharm使用那个环境。 – BoboDarph

+0

@Anup:链接建议我删除“.pyc”文件,但我没有在我的文件夹中看到任何文件。 – Make42

回答

0

我不是很确定什么帮助,但我重新安装/更新numpy和熊猫与conda install ...。我仍然留下错误的文件名称错误。在尝试了很多东西之后,我发现 - 尽管我使用pytest,而不是库unittest - 我无法命名所有测试文件都是“单元测试”的文件夹。重命名为“unittests”解决了这个问题。现在一切正常。

+0

避免使用与[标准库模块]相同的名称通常是一个好主意(https://docs.python.org/3/py-modindex .html),因为依赖于stdlib的模块将最终导入你的模块。如果模块不能重命名,可以通过将模块移动到一个包下(一个包含\ _ \ _ init \ _ \ _。py的目录)来避免导入问题。 – theY4Kman