Объединение приложения Python, скомпилированного с cython, с pyinstallerPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Объединение приложения Python, скомпилированного с cython, с pyinstaller

Сообщение Anonymous »

Проблема
У меня есть приложение, поставляемое в комплекте с pyinstaller. Теперь новая функция требует, чтобы части компилировались с помощью cyphon в библиотеки C.
После компиляции внутри активированной виртуальной среды (поэзия) приложение работает как положено.НО, когда я связываю его с pyinstaller, исполняемый файл впоследствии не может найти пакеты, которые не импортированы в файл main.py.
Насколько я понимаю, это совершенно нормально, потому что этап анализа pyinstaller не может прочитать содержимое скомпилированного кода C (в следующем примере модули/test/test.py доступны для pyinstaller как модули/test/test.cpython-311-x86_64-linux -gnu.so).
Обзор папки:
├── compile_with_cython.py
├── main.py
├── main.spec
├── main_window.py
├── poetry.lock
└── pyproject.toml

main.py
import sys
from PySide6.QtWidgets import QApplication
from main_window import MainWindow

if __name__ == '__main__':
app = QApplication(sys.argv)
mainWin = MainWindow()
mainWin.show()
sys.exit(app.exec_())

main_window.py
Приложение MVP PySide6, которое использует tomllib для загрузки некоторого файла toml
import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QDialog, QVBoxLayout, QTextEdit
from PySide6.QtCore import Slot

class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
...

Код ошибки
./main
Traceback (most recent call last):
File "main.py", line 12, in
File "modules/test/test.py", line 3, in init modules.test.test
ModuleNotFoundError: No module named 'tomllib'
[174092] Failed to execute script 'main' due to unhandled exception!


Подробнее здесь: https://stackoverflow.com/questions/786 ... yinstaller
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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