2012-09-29 7 views
5

Py2Exe에서 .exe를 만들려고 할 때 PyOpenCL 모듈에 문제가 있습니다. Py2Exe는 .exe를 수행해야합니다 ("ImportError : No module pyopencl"여기에 없음).하지만 .exe를 실행하면 pyopencl이라는 모듈이 없습니다.pyopencl (Py2exe)라는 모듈이 없습니다

피닉스 광부의 .exe를 만들려고합니다.

내 setup.py : 나는 나를 http://bytes.com/topic/python/answers/848048-py2exe-module-error로하지만 솔루션과 같은 문제를 가지고 사람을 발견

from distutils.core import setup 
import py2exe, sys, os, pyopencl 

sys.argv.append('py2exe') 

setup(
    options = {'py2exe': {'bundle_files': 1, 
          "includes":["pyopencl","twisted", 
             "zope","QueueReader", 
             "numpy"]}}, 
    console=[{'script' : 'phoenix.py'}], 
    data_files=["C:\\Users\\Nicklas\\Desktop\\Phoenix-Miner\\kernels\\poclbm\\kernel.cl"], 
    zipfile = None, 
) 

.

업데이트 : 이 오류의 원인을 찾았습니다. pyopencl __init__에는 _find_pyopencl_include_path라는 함수가 있는데, 그것은 무엇을하는지 자체적으로 설명합니다. 긴 이야기를 짧게하기 위해 : imp 모듈은 pyopencl 모듈을 찾지 못한다. 이 문제를 해결하기 위해 필자는 그 라인을 주석 처리하고 경로명을 pyopencls 디렉토리에 대한 경로로 설정했습니다. 아마도 좋은 해결책이 아닙니다. 그러나 쉬운 수정이었다.

+0

질문에 대답하는 것이 좋습니다. 제목에'py2exe'를 써라. 그러면 자기 답이 좋은 질문이 될 것이다. – nneonneo

답변

4

이 오류의 원인을 찾았습니다. __init__에서 기능은 _find_pyopencl_include_path이라고 불리우며, 그것이 무엇을하는지 자체적으로 설명합니다. 길게 이야기하기 : imp 모듈이 pyopencl 모듈을 찾지 못했습니다. 이 문제를 해결하기 위해 필자는 그 라인을 주석 처리하고 경로명을 pyopencls 디렉토리에 대한 경로로 설정했습니다. 아마도 좋은 해결책이 아닙니다. 그러나 쉬운 수정이었다.

+0

이 답변을 주셔서 감사합니다. 새로운 GUIMiner 출시와 동일한 문제에 직면했을 때 시간이 절약되었습니다. – Kiv

+0

재미있는 것이 뭔지 알아? 그 라인 바로 아래에있는 주석을보십시오 : # 파이썬 설치가 너무도 획일하고 예측 가능하다는 것을 누가 알았습니까? – RjQuery

+0

고마워, 너는 내 하루를 구했다. – d0c