2011-05-01 3 views
1

나는이 pyopengl 응용 프로그램을 가지고 있으며 bbfreeze로 동결하려고합니다. 불행하게도 나는 냉동 응용 프로그램 그것이와 오류를 실행하면리눅스에서 pyopengl 응용 프로그램으로 bbfreeze 사용

Traceback (most recent call last): 
    File "<string>", line 6, in <module> 
    File "__main__.py", line 128, in <module> 
    File "__main__client__.py", line 11, in <module> 
    File "ui.py", line 15, in <module> 
    File "OpenGL/GLUT/__init__.py", line 2, in <module> 
    File "OpenGL/raw/GLUT/__init__.py", line 6, in <module> 
    File "OpenGL/raw/GLUT/constants.py", line 7, in <module> 
    File "OpenGL/platform/__init__.py", line 36, in <module> 
    File "OpenGL/platform/__init__.py", line 27, in _load 
    File "OpenGL/plugins.py", line 14, in load 
    File "OpenGL/plugins.py", line 28, in importByName 
ImportError: No module named glx 

여기에 필요한 버전 정보입니다 :

Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39) 
[GCC 4.4.5] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import OpenGL 
>>> OpenGL.__version__ 
'3.0.1b2' 
>>> import bbfreeze 
>>> bbfreeze.version 
(0, 97, 3) 

내가 그것을 동결하고있어 동일한 시스템에서 실행하기 위해 노력하고있어를, 고정되지 않은 앱은 해당 컴퓨터에서 정상적으로 실행됩니다.

누구든지이 작품을 만들 수 있습니까? 또는 일부 디버깅 지침을 제공 할 수 있습니까?

+0

나는 cxfreeze를 사용하여 동일한 응용 프로그램을 고정 시켰으며 동일한 형식의 오류가 발생했습니다 (다르게 포맷되었지만). –

답변

3

동결시 동봉 된 모듈 목록에 "OpenGL.platform.glx"를 명시 적으로 추가하십시오. bbfreeze 옵션 인 "includes"는 여러분이 원하는 것입니다.

업데이트 : http://www.pyinstaller.org/browser/trunk/PyInstaller/hooks/hook-OpenGL.py

당신은 아마 포함 목록에이 모든 모듈을 추가해야합니다 pyInstaller 중에 그것을 수행하는 방법을 살펴.

+0

나는 numarrays를 제외하고 나는 다른 것을 필요로했다. 나는 그런 것을 가지고있는 것처럼 보이지 않는다. 이것을 include에 추가하면 실제로 문제가 해결되었습니다. 감사합니다. –

+0

OpenGL.arrays. * 모듈 목록을 보려면 다음 스크립트를 사용합니다 :'for f $ (setopt extended_glob; ls $ (python3 -c "import OpenGL; print (OpenGL .__ path __ [0])")/arrays/* .py는 grep -v __init __); m = "$ {f ## * /}"; echo -n, OpenGL.arrays. "$ {m % .py *}"; done' – shrx

관련 문제