#python #cython #py2app #pyqt6
Вопрос:
Я использую python 3.9 для компиляции простого приложения Qt6 «Привет, мир» в Cython и py2app. Он отлично работает под CPython 3.9. Он правильно компилируется, но не запускается в Cython.
Вот файлы проекта:
тестОвая загрузка.pyx :
import sys
from PyQt6.QtWidgets import QMessageBox, QApplication
def main():
app = QApplication(sys.argv)
QMessageBox(text="Hello World").exec()
if __name__ == "__main__":
main()
main.py:
import testLoad
from logging import basicConfig
def main():
testLoad.main()
if __name__ == '__main__':
main()
и setup.py:
""""
Usage:
python setup.py py2app
"""
from setuptools import setup
from Cython.Build import cythonize
from Cython.Distutils import build_ext
setup(
name='test',
# Include additional files into the package using MANIFEST.in
include_package_data=True,
app= ['__main__.py'],
data_files=[],
cmdclass = {'build_ext': build_ext},
ext_modules = cythonize(["testLoad.pyx"], language_level=3),
setup_requires=['py2app'],
options={
'cython': {"language_level":"3"}
},
install_requires=[
"Cython"
],
entry_points={
"console_scripts": [
"testLoad = __main__:main"
]
},
)
Когда я запускаю программу, я получаю эту ошибку на консоли:
erreur 17:04:44.035551-0400 test MTLIOAccelDevice bad MetalPluginClassName property (null)
erreur 17:04:44.047081-0400 test [MTLIOAccelDevice registerDevices]: Zero Metal services found
Есть идеи ?
Комментарии:
1. Я забыл скопировать «import sys» в пример кода, но он уже был там. Спасибо.
2. У меня здесь та же проблема.