Python 没有名为pyopencl(Py2exe)的模块
当我试图从Py2Exe生成.exe时,PyOpenCL模块遇到了一些问题。 Py2Exe按照它应该做的做.exe(这里没有“ImportError:没有名为pyopencl的模块”),但是当我运行.exe时,它说没有名为pyopencl的模块 我正在尝试制作凤凰矿工的.exe My setup.py:Python 没有名为pyopencl(Py2exe)的模块,python,py2exe,pyopencl,Python,Py2exe,Pyopencl,当我试图从Py2Exe生成.exe时,PyOpenCL模块遇到了一些问题。 Py2Exe按照它应该做的做.exe(这里没有“ImportError:没有名为pyopencl的模块”),但是当我运行.exe时,它说没有名为pyopencl的模块 我正在尝试制作凤凰矿工的.exe My setup.py: from distutils.core import setup import py2exe, sys, os, pyopencl sys.argv.append('py2exe') setu
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
\uuuu init\uuuuu
中有一个名为_find\u pyopencl\u include\u path的函数,它的作用是不言自明的。长话短说:imp模块找不到pyopencl模块。为了解决这个问题,我注释掉了该行,并将pathname设置为pyopencls include目录的路径。可能不是个好办法。但这是一个简单的修复方法。我找到了导致此错误的原因。在pyopencl\uuuu init\uuuuu
中有一个名为\u find\u pyopencl\u include\u path
的函数,它的作用是不言自明的。长话短说:imp
模块找不到pyopencl
模块。为了解决这个问题,我注释掉了该行,并将pathname设置为pyopencls include目录的路径。可能不是个好办法。但这是一个简单的修复方法。还有一种最简单的方法,通过使用auto-py-to-exe
模块使python脚本可执行,它可以使用pip-install-auto-py-to-exe
安装,在python命令行终端中安装writeauto-py-to-exe
后会出现一个窗口,选择脚本位置并选择OneFile而不是OneDirectory,此处我将粘贴自动py到exe
窗口截图以供参考
转换后,“打开输出文件夹”选项将出现在获取python脚本的.exe文件的位置。这个.exe文件不使用python在任何系统上运行。回答您自己的问题实际上是可以的。将
py2exe
放在标题中,这将是一个很好的自我回答问题。谢谢你的回答,今天当我在新的GUIMiner发行版中遇到同样的问题时,它为我节省了一些时间。知道有什么好笑吗?看看这行下面的评论:#谁知道Python的安装是如此统一和可预测?