2012-09-29 76 views
5

我嘗試從Py2Exe製作一個.exe文件時遇到了一些PyOpenCL模塊問題。 Py2Exe使得它應該這樣做(沒有「ImportError:No module named pyopencl」),但是當我運行.exe時,它說沒有名爲pyopencl的模塊。沒有名爲pyopencl的模塊(Py2exe)

我正在試着製作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模塊。爲了解決這個問題,我註釋掉了該行,並將路徑名設置爲pyopencls include目錄的路徑。可能不是一個很好的解決辦法。但這是一個簡單的解決方案。

+0

回答你自己的問題其實沒問題。將'py2exe'放在標題中,這將是一個很好的自我回答的問題。 – nneonneo

回答

4

我發現是什麼原因導致了這個錯誤。在pyopencl __init__中有一個叫_find_pyopencl_include_path的函數,它的功能很明顯。長話短說:imp模塊無法找到pyopencl模塊。爲了解決這個問題,我註釋掉了該行,並將路徑名設置爲pyopencls include目錄的路徑。可能不是一個很好的解決辦法。但這是一個簡單的解決方案。

+0

感謝你的回答,今天我節省了一些時間,當我遇到同樣的問題時,做了一個新的GUIMiner發佈。 – Kiv

+0

知道什麼有趣?看看那條線下面的註釋: #誰知道Python的安裝非常統一和可預測? – RjQuery

+0

謝謝你,你救了我的一天... – d0c

相關問題