Py2Exeから.exeを作成しようとすると、PyOpenCLモジュールで問題が発生します。Py2Exeは.exeを正常に作成しますが(ここでは「ImportError:pyopenclという名前のモジュールはありません」)、.exeを実行すると、pyopenclという名前のモジュールがないと表示されます。
フェニックスマイナーの.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をpyopenclsincludeディレクトリへのパスに設定しました。おそらく良い修正ではありません。しかし、それは簡単な修正でした。