У меня возникли проблемы с модулем PyOpenCL при попытке создать .exe из Py2Exe. Py2Exe создает .exe так, как должен (здесь нет «ImportError: нет модуля с именем pyopencl»), но когда я запускаю .exe, он говорит, что нет модуля с именем pyopencl.
Я пытаюсь сделать .exe из Phoenix Miner.
Мой setup.py:
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,
)
Я нашел человека, у которого была та же проблема, что и у меня http://bytes.com/topic/python/answers/848048-py2exe-module-error, но без решения.
ОБНОВЛЕНИЕ: я нашел причину этой ошибки. В pyopencl __init__
есть функция с именем _find_pyopencl_include_path, она сама по себе объясняет, что она делает. Короче говоря: модуль imp не может найти модуль pyopencl. Чтобы исправить это, я закомментировал эту строку и установил путь к каталогу pyopencls include. Вероятно, это не очень хорошее исправление. Но это было легко исправить.
py2exe
в заголовок, и это будет хороший вопрос с ответом на вопрос. - person nneonneo   schedule 30.09.2012