2013-04-08 6 views
0

블렌더 2.66a는 파이썬 3.3 API를 제공하는 응용 프로그램입니다. 필자의 시스템에서는 파이썬 3.2를 사용하고자하는 여러 모듈과 함께 설치했습니다 블렌더 내부에, 나는 두sys.path.append가 파이썬 3.x에서 작동하지 않습니다

sys.path.append(r"/usr/lib/python3.2/") 
sys.path.append("/usr/lib/python3.2/") 

을 시도하고이 명령을 색인 오류, 가리키고에도 자동 완성 기능이 작동하고 새로운 모듈을 제공합니다, 그래서 내가

import tkinter 

을 시도했지만이 다음과 같은 오류가 발생

Traceback (most recent call last): 
    File "<blender_console>", line 1, in <module> 
    File "/usr/lib/python3.2/tkinter/__init__.py", line 42, in <module> 
    raise ImportError(str(msg) + ', please install the python-tk package') 
ImportError: No module named '_tkinter', please install the python-tk package 

이 모듈이 설치되지 않았기 때문에 같은 모듈을 설치하라는 메시지가 모듈에로드되지 않으므로이 오류가 발생하지 않습니다.).

무엇이 어렴풋이 생길 수 있습니까? 난 당신이 바로, 당신은 블렌더에서 파이썬 3.3을 사용하지만 3.2 표준 라이브러리를 포함하려고하고있어 경우


편집

Tkinter의 모듈은 그놈 터미널

+0

이것은'sys.path.append'가 작동하지 않는 것과 아무런 관련이 없습니다. tkinter의 C 부분이 작동해야하는 라이브러리가 누락되었습니다. – geoffspear

+0

@Wooble 어떤 라이브러리? tkinter는 일반 콘솔에서 작동하며 다른 모듈도 해당 경로의 오류없이 가져올 수 있습니다. – user2244984

+0

콘솔과 블렌더 모듈에서 파이썬 버전을 확인 했습니까? 그것들은 아마 다르며,'python-tk' 패키지는 아마 특정 버전에만 설치 될 것입니다. – Bakuriu

답변

3

에서 작동합니다. 이것은 당신에게 문제의 단말마를 제공해야합니다, 당신은 이 아니라해야합니까. 다른 방법을 찾아라. 블렌더는 3.3 표준 라이브러리를 사용할 수있는 방법을 제공 할 가능성이 높습니다 (그리고 이는 3.2와 99 % 호환됩니다). Pure-Python 제 3 자 라이브러리는 물론 sys.path을 사용하여 포함시킬 수 있습니다.

지금보고있는 특정 문제는 버전 차이로 인한 것일 수 있습니다. 코멘트에서 사람들이 지적했듯이, 파이썬 3.3은 _tkinter 확장 모듈을 찾지 못했습니다. 그것이 존재하더라도 (파이썬 3.2에서와 같이) 블렌더의 파이썬 3.3과 호환되지 않는 ABI tag을 가진 .so 파일에있을 가능성이 높습니다. 그러므로 그것도 보지 않을 것입니다 (module.txt은 고려되지 않습니다) import module). 이것은 좋은 일입니다. 확장 모듈은 버전에 따라 다르며 약간의 ABI 불일치 (예 : 3.2 ~ 3.3 또는 다른 3.3 옵션으로 컴파일 된 3.3)는 충돌에서부터 메모리 누수에 이르기까지 거의 모든 종류의 오류를 일으킬 수 있습니다. 다른.

이 경우가 3.2 쉘의 import _tkinter; print(_tkinter.__file__)을 통해 확인할 수 있습니다. 또는 _tkinter은 완전히 다른 디렉토리에있을 수 있습니다. 해당 디렉토리를 추가해도 실제로 위에 설명 된 실제 문제는 해결되지 않습니다.

+0

분명히'_tkinter'는'/ usr/lib/python3.2/lib-dynload /'에 있지만'sys.path'에이 경로를 추가해도 아무 것도 해결되지 않습니다.이 2 개의 Python 버전은 끝. – user2244984

관련 문제