尝试从Py2Exe制作.exe时,我在PyOpenCL模块上遇到了一些麻烦。
Py2Exe使.exe正常运行(此处没有“ImportError:没有名为pyopencl的模块”),但是当我运行.exe时,它说没有名为pyopencl的模块。
我正在尝试制作Phoenix Miner的.exe。
我的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模块。为了解决这个问题,我注释掉了这一行,并将pathname设置为pyopencls include目录的路径。可能不是一个好的解决方案。但这是一个简单的解决方法。 最佳答案
我发现了导致此错误的原因。在pyopencl __init__
中,有一个名为_find_pyopencl_include_path
的函数,它的作用很容易说明。长话短说:imp
模块找不到pyopencl
模块。为了解决这个问题,我注释掉了这一行,并将pathname设置为pyopencls include目录的路径。可能不是一个好的解决方案。但这是一个简单的解决方法。
关于python - 没有名为pyopencl(Py2exe)的模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12653568/