Проблемы с созданием пакета PythonPython

Программы на Python
Ответить
Anonymous
 Проблемы с созданием пакета Python

Сообщение Anonymous »


Я создаю пакет Python со следующей структурой:

VisionPy/ │ __init__.py │ main.py │ плагин_интерфейс.py │ README.md │ ├── контроллеры/ │ ├── __init__.py │ ├── imagecontroller.py │ ├── томконтроллер.py │ ├── модели/ │ ├── __init__.py │ ├── imagemodel.py │ ├── томмодель.py │ ├── плагины/ │ ├── CScan/ │ │ ├── __init__.py │ │ ├── NDEToolkit.py │ │ ├── плагин.py │ │ ├── требования.txt │ ├── __init__.py │ ├── ui/ │ ├── просмотров/ │ │ ├── __init__.py │ │ ├── imageview.py │ │ ├── label.py │ │ ├── mainview.py │ │ ├── томview.py │ ├── __init__.py │ ├── утилиты/ ├── __init__.py ├── прогресс_окно.py Моя проблема в том, что это должно быть позже скомпилировано и выполнено таким образом, чтобы я мог создавать плагины, как CScan. Текущая проблема, с которой я столкнулся, заключается в том, что я не могу импортировать NDEToolkit из плагина.py, несмотря на то, что они находятся в одной папке. Это проблема, потому что я хочу создать интерфейс плагина, к которому будет легкий доступ даже для людей, которые мало что знают о программировании, а добавление папок к системному пути не кажется лучшим подходом для достижения этой цели. Кроме того, я хочу иметь возможность скомпилировать проект с помощью pyinstaller или какого-либо аналогичного пакета и упростить вставку папки в плагины, которая содержит как минимум плагин.py и требования.txt, и именно так работает мой интерфейс. Я не знаю, действительно ли мне нужны все эти файлы init.py, поскольку я не планирую делать все это в виде пакета, поскольку это приложение с графическим интерфейсом, разработанное с использованием PyQt5 и main.py выглядит так:

# main.py импортировать систему из PyQt5.QtWidgets импортирует QApplication из контроллеров.imagecontroller импортировать ImageController из контроллеров.volumecontroller импортировать VolumeController из ui.views.mainview импортировать MainView защита основной(): приложение = QApplication(sys.argv) # Создаём главный вид main_view = MainView() # Создайте контроллеры и передайте им main_view image_controller = ImageController (main_view) Volume_controller = VolumeController (main_view) # Установите контроллеры в главном представлении main_view.set_image_controller(image_controller) main_view.set_volume_controller(volume_controller) # Показать основной вид main_view.show() sys.exit(app.exec_()) если __name__ == '__main__': основной() Я организовал проект следующим образом, думая о шаблоне MVC, но любая помощь или изменения, которые мне могут понадобиться, приветствуются. Заранее благодарим всех, кто внесёт вклад!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»