没有名为pyopencl(Py2exe)的模块

问题描述 投票:5回答:2

当尝试从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目录的路径。可能不是一个好的解决方案。但这是一个简单的解决方法。

python py2exe pyopencl
2个回答
4
投票

我发现了导致此错误的原因。 pyopencl __init__中有一个名为_find_pyopencl_include_path的函数,它的作用很容易说明。长话短说:imp模块找不到pyopencl模块。为了解决这个问题,我注释掉了这一行,并将pathname设置为pyopencls include目录的路径。可能不是一个好的解决方案。但这是一个简单的解决方法。


0
投票

[还有最简单的方法,可以使用auto-py-to-exe模块使python脚本可执行,可以使用pip install auto-py-to-exe安装,并且在python命令行终端中写入auto-py-to-exe后会出现一个窗口,选择脚本位置并选择我要粘贴auto-py-to-exe窗口屏幕快照,以供参考,用OneFile代替OneDirectoryenter image description here转换后,“打开输出文件夹”选项将出现,您将在其中获取python脚本的.exe文件。这个.exe文件可以在任何系统上运行,而无需使用python。

© www.soinside.com 2019 - 2024. All rights reserved.