Проблема
PEP8 має правило щодо розміщення імпорту у верхній частині файлу:
Імпорт завжди розміщується у верхній частині файлу, безпосередньо після будь-яких коментарів та рядків документа, а також перед глобальними та константами модулів.
Однак у певних випадках я можу захотіти зробити щось на зразок:
import sys
sys.path.insert("..", 0)
import my_module
У цьому випадку pep8
утиліта командного рядка позначає мій код:
Імпорт рівня модуля E402 не у верхній частині файлу
Який найкращий спосіб досягти відповідності PEP8 sys.path
модифікаціям?
Чому
У мене є цей код, оскільки я дотримуюся структури проекту, наведеної в Посібнику автостопа по Python .
У цьому посібнику випливає, що у мене є my_module
папка, окрема від tests
папки, обидві вони знаходяться в одному каталозі. Якщо я хочу отримати доступ my_module
з tests
, я думаю, мені потрібно додати ..
доsys.path
setup.py
і не встановитиmy_module
для тестування?