Проблема при использовании py.test с проектом pytorch через расширение python для кода Visual Studio - PullRequest
0 голосов
/ 28 сентября 2018

Я работаю над проектом pytorch с использованием кода Visual Studio и пытаюсь использовать py.test.

Однако при попытке обнаружить (или запустить) тесты с использованием расширения vs-code я получаюошибка (см. журнал) импорта факела.Когда я запускаю pytest из терминала, все работает нормально.

Вопрос: Что VS-код делает по-другому, по сравнению со мной, работающим pytest сам?Как я могу это исправить?

Спасибо

Конфиг и дополнительная информация

  • Win10, custom conda env, python=3.7, pytest=3.8, pytorch=0.4.1 [cuda92], vscode 1.27.2
  • Когда я удаляю некоторые тесты, чтобы все оставшиеся тесты не вызывали любой код torch, все работает нормально (т. е. pytest config внутри vs-codeдолжно быть правильным)
  • Путь Python, указывающий на правильное env, задается в vs-code Настройки рабочего пространства
  • VS Код, кажется, использует правильную версию conda env и pytest в соответствии с Python Test Log (см.ниже)
  • Запуск pytest напрямую с терминала работает нормально (см. ниже)
  • Я могу успешно вызывать модули, используя torch через python или import torch внутри ipython
  • Редактировать 1 : Мне известно о https://github.com/pytorch/pytorch/issues/4518, и я попробовал некоторые из последних предложений в этой теме.(Однако я не думаю, что это действительно моя проблема, потому что, как сказано выше, я могу import torch просто отлично.)
  • Редактировать 2 : я получаю ту же ошибку при запускелюбые модули, которые import torch внутри отладчика vs-кода

Вывод журнала тестов Vs-Code Pytest после неудачного «Обнаружения тестов»

============================= test session starts =============================
platform win32 -- Python 3.7.0, pytest-3.8.0, py-1.6.0, pluggy-0.7.1
rootdir: c:\Users\stefan\dev\bnelearn, inifile: pytest.ini
collected 0 items / 1 errors

=================================== ERRORS ====================================
_____________ ERROR collecting bnelearn/tests/test_mechanisms.py ______________
ImportError while importing test module 'c:\Users\stefan\dev\bnelearn\bnelearn\tests\test_mechanisms.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
bnelearn\tests\test_mechanisms.py:3: in <module>
    import torch
..\..\Anaconda3\envs\bnelearn\lib\site-packages\torch\__init__.py:80: in <module>
    from torch._C import *
E   ImportError: DLL load failed: The specified module could not be found.
!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!
=========================== 1 error in 0.12 seconds ===========================

Выводпрямого хода питчера

enter image description here

1 Ответ

0 голосов
/ 28 сентября 2018

Я нашел следующий обходной путь: проблема не появляется, когда код запускается из командной строки с активированным нужным env .

...