Я искал решения для этой проблемы в Интернете, но ни один из них, похоже, не подходит для моей конкретной ситуации.
У меня есть проект pycharm с несколькими каталогами, подкаталогами и файлами.Когда я вызываю метод основной точки входа из командной строки, я получаю ModuleNotFoundError для всех импортов в ~ 20 файлах.Решения, которые я нашел в Интернете, рекомендуют модифицировать PYTHONPATH.Это нереальное решение для моего варианта использования, потому что
- Мне нужно добавить вызов sys.path.append во все мои файлы.Это единственный способ, которым это работает.
- Я не могу использовать сторонние библиотеки.
- Я буду делиться проектом в виде zip-файла.Примечание: я не могу использовать github для совместного использования проекта, и я не собираюсь создавать распространяемый.Поэтому, когда кто-то разархивирует проект на своем ПК, он сможет запустить его из командной строки без каких-либо проблем.Им не нужно изменять свои переменные env для его запуска.
Какие у меня варианты?
РЕДАКТИРОВАТЬ:
Структура проекта:
Project-
|
|
mod-
|
|
data-
|
|
ClassA.py
ClassB.py
|
config-
|
|
ClassC.py
ClassD.py
...
main.py
Операторы импорта выглядят следующим образом:
from mod.data.ClassA import ClassA
Ошибка:
ModuleNotFoundError: No module named 'ClassA'
Эта ошибка появляется для каждого оператора импорта в моих файлах Python.
Когда я добавляю sys.path.append, он работает, но я должен сделать это для каждого оператора импорта и его жестко закодированного пути abs, который должен быть обновлен любым пользователем с zip.