Running tests inside Pycharm while working in virtualenv

Answered

PyCharm 2018.3

 

I am working in a conda virtualenv.  I have a file `add.py` and `test_add.py` which has `unittest` class to test the `add.py` module.

From the terminal, with the virtualenv activated, I can run `python test_add.py` and the tests run perfectly fine.

From inside pycharm, where I've set the interpreter to use the same virtualenv,  I can run the add.py file, and it works.

However, from inside pycharm, if I try to run 'test_add.py`   it fails with a long stacktrace ending in a DLL import error:

 

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

 

 

 

0

Please sign in to leave a comment.