2014-11-02 2 views
14

은 내가 Win7에 x64의 시스템에서 아나콘다 파이썬 2.7을 실행하고 PyOpenGL를 설치 아나콘다 명령 줄에서PyOpenGL glutInit의 NullFunctionError

pip install PyOpenGL PyOpenGL_accelerate 

을 사용하고 있습니다. 얻가 다음

python main.py peaucellier.txt 

그러나 :

내가 몇 가지 코드를 가지고 (안 나는 고백해야 자신의 내) glutInit의

import sys 
import math 
import numpy 

import OpenGL 
from OpenGL.GL import * 
from OpenGL.GLUT import * 

import Image 

import linkage 

# ... a whole load of definitions etc ... 

glutInit(sys.argv) 
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB) 
glutInitWindowSize(600, 600) 
glutCreateWindow('linkage') 
init() 
initWindow() 
glutIdleFunc(idle) 
glutMainLoop() 

의 사용은 내가 명령 줄에 다음을 입력하여 실행 만드는 다음 오류 (371 줄은 위의 glutInt (sys.argv) 줄임)

File "C:/Users/Owner/Documents/Python Scripts/linkage/main.py", line 371, in <module> 
glutInit(sys.argv) 

File "C:\Anaconda\lib\site-packages\OpenGL\GLUT\special.py", line 333, in glutInit 
_base_glutInit(ctypes.byref(count), holder) 

File "C:\Anaconda\lib\site-packages\OpenGL\platform\baseplatform.py", line 407, in __call__ 
self.__name__, self.__name__, 

NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling 

비슷한 오류가 발생했습니다. pos 이 포럼에서 ted하지만 제안 된 수정 사항 중 아무 것도 작동하지 않아서 내가 왜 묻고 있는지, 여기서 무엇이 잘못 되었습니까?

설치에 문제가 있습니까? 수입이 맞습니까?

편집 : 공식 릴리스에 대한 많은 많은 수정을 시도 후 나는 지금은 응답이 구글 그룹 가로 질러 비슷한 문제에 해결책을 둘러보고 후 Unofficial Windows Binaries for Python Extension Packages

답변

9

에서 완벽하게 작동 비공식 버전을 사용하고 질문 : https://groups.google.com/forum/#!topic/glumpy-users/aC1NjEHXtEE

공식 소스에서 pip로 다운로드하면 OpenGL.GLUT에 문제가 있습니다. pip을 사용하여 OpenGL을 제거한 다음 OpenGL을 다운로드하십시오. http://www.lfd.uci.edu/~gohlke/pythonlibs/

+0

, 파이썬 2.7 아나콘다, Mamuka Arabuli 또는 모기 같은 다른 사람에 의해 제안 된 freeglut 솔루션은하지 않습니다, 그래서 먼저 해봐. –

0

조금 늦은 것으로 알고 있습니다. 또한 파이썬 2.7 (32 비트) 창에서이 문제가 발생했습니다. user2723240에 언급 된 방법을 시도했지만 여전히 실패했습니다. 마지막으로, glue32.dll을 C 드라이브의 System32에 복사하고 glue32.dll을 내 소스 파일 디렉토리에 복사하여이 문제를 해결했습니다. 그것은 지금 잘 작동합니다.

+0

예 시도했지만 내 설정에서 작동하지 않았다. OP에 연결된 비공식적 인 릴리스 만 나를 위해 작동합니다. – DrBwts

5

If installing PyOpenGL from easy_install, pip or conda, FreeGLUT (prebuilt Windows binaries)과 같은 GLUT 구현이 이미 설치되어 있는지 확인하십시오.

FreeGLUT의 경우 배포 된 파일을 하드 드라이브의 한 위치에 복사 한 다음 bin 디렉토리 (GLUT DLL 포함)의 경로를 PATH 환경 변수에 추가하십시오. 그렇다면 PyOpenGL이 예상대로 작동해야합니다.

7

easy_install PyOpenGL 또는 pip install PyOpenGL을 통해 설치 한 후이 오류가있는 리눅스 사용자입니다.

-> 배포 패키지를 다음과 같이 설치하십시오. sudo apt-get install python-opengl - 입니다.

0

동일한 오류가있어서 here에서 필요한 파일을 설치하는 중입니다.

다운로드이 파일 :

  • PyOpenGL-3.1.1-cp27-cp27m-win32.whl (다운로드하면 컴퓨터 32 비트)

  • PyOpenGL - 3.1.1-cp27 cp27m-win_amd64.whl (다운로드하는 경우, 컴퓨터의 64 비트)

  • PyOpenGL_accelerate-3.1.1-cp27-cp27m-win32.whl (다운로드하는 경우, 컴퓨터의 32 비트)

  • PyOpenGL_accelerate- 3.1.1-cp27-cp27m-win_amd64.whl (다운로드 컴퓨터 64 비트 경우)

64 비트에 대한 이러한 .whl 파일을 설치합니다

pip install PyOpenGL-3.1.1-cp27-cp27m-win_amd64.whl 
pip install PyOpenGL_accelerate-3.1.1-cp27-cp27m-win_amd64.whl 

32 비트에 대한 이러한 .whl 파일을 설치 : 파이썬 2.7

pip install PyOpenGL-3.1.1-cp27-cp27m-win32.whl 
pip install PyOpenGL_accelerate-3.1.1-cp27-cp27m-win32.whl 
+0

ergul, 이것이 개 소식의 링크와 같습니다. – DrBwts

+0

@DrBwts 당신 말이 맞습니다. 이 질문은 2 년 전에 당신이 물었습니다. 나는 영어를 잘 모르는 사람들을 위해 단계별로 해결책을 작성합니다. –

2

, PyopenGL는 VC++ 9 컴파일러, download 필요하고 설치합니다. glutCreateWindow("sometitle") 변경

glutCreateWindow(b'sometitle')에 그것은 윈도우 7

을 실행있어 : 다음

: 호출 할 때

python -m pip install --upgrade pip 

pip install image 

pip install numpy 

pip install PyOpenGL PyOpenGL_accelerate 

나는 압축을 푼

freeglut을 다운로드 경로 에 bin 디렉토리를 추가

0

리눅스에서 pyopengl 모듈은 ctypes 모듈을 사용하여 glut 라이브러리를 단순히 'glut'으로로드합니다. ctypes 문서에 따르면 loadLibrary 루틴에 완전한 파일 이름을 지정해야합니다. 그러므로 libglut.so에 심볼릭 링크를 만들고 'glut'이라는 이름을 붙였습니다.

7

아래의 링크에 따르면 pip install 대신 glut 설치 문제가 발생했습니다. glut 파일은 PyOpenGL 또는 PyOpenGL_accelerate 패키지의 일부가 아닙니다. 당신은 그것들을 별도로 다운로드해야합니다.

https://stackoverflow.com/a/39181193/7030177

Windows 사용자는 주어진 링크에서 언급 한 바와 같이 과잉을 다운로드하려면 아래 링크를 사용할 수 있습니다. ftp://ftp.sgi.com/opengl/glut/glut3.html.old#windows

리눅스 사용자는 다음 명령을 사용하여 과잉 설치할 수 있습니다

sudo apt-get install freeglut3-dev 

희망이 도움이 :)

0

내 경우는 다른, 파이썬 3.6 창 (10) 그러나 정확히 같은 오류 메시지. 위의 모든 해결책을 시도했지만 성공하지 못했습니다. 파일을 내 컴퓨터 및 Python 버전에 바로 다운로드 HERE

그런 다음 pip는 파일 이름을 설치합니다. Whl, 더 이상 문제가 없습니다!

대답은 중국 웹 사이트에서였다 Answer Link

1

예, 이것은 파이썬에게 2.713 아나콘다 4 64 비트를 실행하는 Windows 10에 나에게 일어났다. pyopengl을 설치하기 위해 conda를 사용했지만 위와 같은 오류가 발생했습니다.그래서 transmissionzero에서 freeglut을 다운로드하고 freeglut.dll (64 비트)을 내 소스 파일과 동일한 디렉토리에 복사했습니다 (dll 검색 경로에 있어야 함). 모두 좋았습니다.

관련 문제