Как исправить ModuleNotFoundError: Модуль не назван - PullRequest
0 голосов
/ 11 марта 2020

Я использую Pytest Framework (python / Pycharm). Когда я запускаю тесты напрямую, нажимая на папку, щелкните правой кнопкой мыши и выберите «Запустить pytest» в ab c - он работает нормально, НО, когда я пытаюсь запустить его через терминал, он выдает мне следующую ошибку, которую я пытаюсь удалить init файл в папке, как предложено на других форумах, но все равно появляется ошибка ниже, которую я скопировал ниже для вашей справки

___________________________________________________________________________________________________________ ERROR collecting Test_Results_My_Profile_Module.py _________________________________________________________________________________________________________
ImportError while importing test module 'C:\SyAutomation\automation-tests\ZProjects\AutomationSy\regpytestframework\Test_Results_My_Profile_Module.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
Test_Results_My_Profile_Module.py:11: in <module>
    from ZProjects.AutomationSy.Pages.employmentPage import EmploymentpageMethods
E   ModuleNotFoundError: No module named 'ZProjects'
!!!!!!!!! Interrupted: 1 error during collection 

1 Ответ

0 голосов
/ 11 марта 2020

В основном вам нужно сообщить python, где находится ваш код, по умолчанию он выглядит в вашем текущем каталоге и в site-packages. Один из способов сделать это - создать пакет python . Это эффективно устанавливает ваш код в site-packages

Однако проще сделать это, используя переменную окружения PYTHONHPATH (что, вероятно, и делает Pycharm). Эта переменная окружения используется python для поиска дополнительного кода. Так что вам просто нужно сделать:

Powershell

$Env:PYTHONPATH = "C:\SyAutomation\automation-tests\ZProjects"

Shell

export PYTHONPATH="C:\SyAutomation\automation-tests\ZProjects"

Windows терминал

setx PYTHONPATH "C:\SyAutomation\automation-tests\ZProjects"
...