5

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ディレクトリへのパスに設定しました。おそらく良い修正ではありません。しかし、それは簡単な修正でした。

4

2 に答える 2

4

このエラーの原因がわかりました。pyopencl__init__には という関数があり_find_pyopencl_include_path、それが何をするかは一目瞭然です。簡単に言うと、impモジュールがモジュールを見つけられませんpyopencl。これを修正するために、その行をコメントアウトし、パス名を pyopencls インクルード ディレクトリへのパスに設定しました。おそらく良い修正ではありません。しかし、それは簡単な修正でした。

于 2012-09-30T14:41:46.647 に答える