Я бы не стал называть себя программистом и не знаком с Ma c и Linux, поэтому любые ссылки или указатели на дополнительную информацию мне очень помогут. Я начал с самой простой c pygame, которую я мог найти в Google (от https://realpython.com/pygame-a-primer/). Test.py и test.app работают на моей виртуальной машине, но не на чьих-либо реальных компьютерах Mac.
файл test.py
import pygame
pygame.init()
screen = pygame.display.set_mode((400, 300))
done = False
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
pygame.display.flip()
файл setup.py
from setuptools import setup
APP = ['test.py']
DATA_FILES = []
OPTIONS = {}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
команда для создания test.app
$ python3 setup.py py2app
Test.app отлично работает на виртуальной машине , но всякий раз, когда test.app запускается на реальном Ma c (проверено 2, один работал на Catalina ver ???), появляется следующее сообщение об ошибке:
Traceback (most recent call last):
File "/Applications/test.app/Contents/Resources/__boot__.py", line 101, in <module>
_run()
File "/Applications/test.app/Contents/Resources/__boot__.py", line 84, in _run
exec(compile(source, path, "exec"), globals(), globals())
File "/Applications/test.app/Contents/Resources/test.py", line 1, in <module>
import pygame
File "pygame/__init__.pyc", line 120, in <module>
File "pygame/base.pyc", line 14, in <module>
File "pygame/base.pyc", line 10, in __load
File "imp.pyc", line 343, in load_dynamic
ImportError: dlopen(/Applications/test.app/Contents/Resources/lib/python3.7/lib-dynload/pygame/base.so, 2): Library not loaded: @loader_path/.dylibs/libSDL-1.2.0.dylib
Referenced from: /Applications/test.app/Contents/Resources/lib/python3.7/lib-dynload/pygame/base.so
Reason: image not found
2020-05-02 11:27:50.309 test[931:15836] test Error
----------------------------
Working environment: VirtualBox 6.1, macOS Sierra (Version 10.12) with the following:
$ pip list
Package Version
----------- ----------
altgraph 0.17
certifi 2020.4.5.1
macholib 1.14
modulegraph 0.18
pip 20.1
py2app 0.21
pygame 1.9.6
setuptools 39.0.1
wheel 0.34.2
$ brew list --versions
freetype 2.10.1
gdbm 1.18.1
jpeg 9d
libmikmod 3.3.11.1
libogg 1.3.4
libpng 1.6.37
libtiff 4.1.0
libvorbis 1.3.6
openssl@1.1 1.1.1g
pkg-config 0.29.2_3
python 3.7.7
readline 8.0.4
sdl 1.2.15_1
sdl2 2.0.12_1
sdl_image 1.2.12_7
sdl_mixer 1.2.12_3
sdl_ttf 2.0.11_1
sqlite 3.31.1
webp 1.1.0
xz 5.2.5
Любые идеи или указатели будут буду очень признателен. Фактическая программа представляет собой карточную игру OhHell, которая поддерживает клиентов Windows (через pyinstaller), но я также пытаюсь поддерживать клиента Ma c, чтобы играть с моими друзьями на Ma c. Подобно test.py и test.app (ohhell.py и ohhell.app) запускается на виртуальной машине Ma c, но такая же проблема / ошибка возникает с настоящими Mac. Я только что включил простейший фрагмент кода, который мне удалось найти в Google, который воспроизводит точное сообщение об ошибке.
-john