Использование PyCharm 2018.3
Я работаю в conda virtualenv. У меня есть файл add.py
и test_add.py
, который имеет класс unittest
для проверки модуля add.py
.
С простого терминала (вдали от pycharm), при активированном virtualenv, я могу запустить python test_add.py
, и тесты пройдут отлично.
Изнутри pycharm, где я установил для интерпретатора тот же virtualenv, я могу запустить файл add.py
, и он работает.
Однако изнутри pycharm, если я пытаюсь запустить 'test_add.py`, он завершается неудачно с длинной трассировкой стека, заканчивающейся ошибкой импорта DLL:
Testing started at 9:23 PM ...
C:\ProgramData\Anaconda3\envs\nambu\python.exe "C:\Program Files\JetBrains\PyCharm 2018.3.6\helpers\pycharm\_jb_pytest_runner.py" --path C:/Users/kanugu/code/morsel/test_add.py
Launching pytest with arguments C:/Users/kanugu/code/morsel/test_add.py in C:\Users\kanugu\code\morsel
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm 2018.3.6\helpers\pycharm\_jb_pytest_runner.py", line 31, in <module>
pytest.main(args, plugins_to_load)
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\_pytest\config\__init__.py", line 60, in main
config = _prepareconfig(args, plugins)
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\_pytest\config\__init__.py", line 195, in _prepareconfig
pluginmanager=pluginmanager, args=args
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\pluggy\hooks.py", line 289, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\pluggy\manager.py", line 68, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\pluggy\manager.py", line 62, in <lambda>
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\pluggy\callers.py", line 203, in _multicall
gen.send(outcome)
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\_pytest\helpconfig.py", line 93, in pytest_cmdline_parse
config = outcome.get_result()
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\pluggy\callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\pluggy\callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\_pytest\config\__init__.py", line 654, in pytest_cmdline_parse
self.parse(args)
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\_pytest\config\__init__.py", line 871, in parse
self._preparse(args, addopts=addopts)
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\_pytest\config\__init__.py", line 816, in _preparse
self.pluginmanager.load_setuptools_entrypoints("pytest11")
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\pluggy\manager.py", line 274, in load_setuptools_entrypoints
plugin = ep.load()
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\pkg_resources\__init__.py", line 2411, in load
return self.resolve()
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\pkg_resources\__init__.py", line 2417, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\_pytest\assertion\rewrite.py", line 296, in load_module
six.exec_(co, mod.__dict__)
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\pytest_doctestplus\plugin.py", line 18, in <module>
from .output_checker import OutputChecker, FIX
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\_pytest\assertion\rewrite.py", line 296, in load_module
six.exec_(co, mod.__dict__)
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\pytest_doctestplus\output_checker.py", line 10, in <module>
import numpy as np
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
File "C:\ProgramData\Anaconda3\envs\nambu\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
from . import _mklinit
ImportError: DLL load failed: The specified module could not be found.
Process finished with exit code 1
Не уверен, почему test_add.py
имеет проблему с импортом, когда все другие комбинации работают нормально.