Python 2에서 py2app로 작업 중이며, 내 app이 컴파일 된 .app 파일의 일부로 실행되는지 또는 독립 실행 형 스크립트로 실행되는지 여부를 코드에서 감지 할 수 있는지 궁금합니다.Python : .app 번들 내에서 실행 중인지 확인하십시오.
일부 코드가 .dylib 파일을 동적으로로드하기 때문에 이는 중요합니다. 기본적으로 스크립트로 실행될 때이 코드는 정상적으로 실행됩니다.
Traceback (most recent call last):
File ".../python/game/dist/main.app/Contents/Resources/__boot__.py", line 316, in <module>
_run()
File ".../python/game/dist/main.app/Contents/Resources/__boot__.py", line 311, in _run
exec(compile(source, path, 'exec'), globals(), globals())
File ".../python/game/dist/main.app/Contents/Resources/main.py", line 1, in <module>
import game
File "game.pyc", line 10, in <module>
File "gui.pyc", line 5, in <module>
File "audio/__init__.pyc", line 2, in <module>
File "audio/pybass.pyc", line 65, in <module>
File "ctypes/__init__.pyc", line 365, in __init__
OSError: dlopen(...python/game/dist/main.app/Contents/Resources/lib/python2.7/site-packages.zip/audio/libbass.dylib, 6): no suitable image found. Did find:
.../python/game/dist/main.app/Contents/Resources/lib/python2.7/site-packages.zip/audio/libbass.dylib: stat() failed with errno=20
2013-07-15 02:50:21.146 main[10040:707] main Error
내가 동적으로 다음, 라이브러리의 외부와 자원에 .dylib 파일을 이동에서로드하는 것입니다 가장 좋은 방법을 생각하고 다음 .APP 내에서 실행하는 경우 그러나, 내가 좋아하는 뭔가를 얻을 거기에 -하지만 이렇게하려면 내가 .app에서 실행 중인지 여부를 코드에서 감지해야합니다. 그렇다면 라이브러리의 다른 위치 (즉, 앱 번들의 Resources 폴더)를 확인하십시오
감사합니다.