Python импорт в Init - PullRequest
       4

Python импорт в Init

0 голосов
/ 07 апреля 2020

Я сейчас пишу много тестов, которые используют pytest. Таким образом, первый раз каждого файла является импорт Pytest. Есть ли способ импортировать его куда-нибудь еще, например __init__.py

tests
   - unit_tests
       - __init__.py
       - test_service.py
       - test_plan.py
       - test_api.py

1 Ответ

2 голосов
/ 07 апреля 2020

Оператор import имеет две цели:

  1. Определить модуль, если необходимо
  2. Добавить имя для этого модуля в текущей области.

Если положить import pytest в __init__.py, то позаботится о первом, но второе ничего не сделает. Вы не можете использовать pytest в каждом модуле, если только вы не импортируете sys и не используете sys.modules['pytest'] везде, где бы вы использовали pytest в одиночку. Но это уродливо, поэтому вы можете подумать: «Эй, я просто напишу

pytest = sys.modules['pytest']

, чтобы сделать глобальное имя pytest, ссылающееся на модуль».

Но это именно то, что import pytest уже делает.

...