1

我在使用 Christoph Gohlke 的 32 位版本软件包的 32 位机器上使用 Python v2.7.5 和 scipy v0.12.0 和 py2exe v0.6.9 收到以下错误消息。如果有人能提供相关和有用的建议,我将不胜感激。这是错误消息:

Traceback (most recent call last):
  File "MainWindow.py", line 13, in <module>
    from svm.svm import SVM
  File "svm\svm.pyc", line 4, in <module>
  File "sklearn\svm\__init__.pyc", line 13, in <module>
  File "sklearn\svm\classes.pyc", line 3, in <module>
  File "sklearn\linear_model\__init__.pyc", line 20, in <module>
  File "sklearn\linear_model\sgd_fast.pyc", line 12, in <module>
  File "sklearn\linear_model\sgd_fast.pyc", line 10, in __load
  File "weight_vector.pxd", line 14, in init sklearn.linear_model.sgd_fast     
  (sklearn\linear_model\sgd_fast.c:13206)
ImportError: No module named weight_vector

这是我的 setup.py 文件:

from distutils.core import setup
import py2exe

import sys
sys.path.append('../')
dcm = 'dcm.testDCM'
svm_path = 'svm.svm'

setup(windows=[{"script":"MainWindow.py"}],
      options={"py2exe":{
                    "includes" : ["sip", dcm, svm_path,
                                  'sklearn',
                                  'scipy.sparse.csgraph._validation',
                                  'sklearn.linear_model.sgd_fast.weight_vector']}})

实际上,我已经用 py2exe 问题解决了这个问题scipy中的问题,并使用该问题中的第二个答案(答案)解决了这个问题,在我的 py2exe 包含选项中添加了“scipy.sparse.csgraph._validation”。

然后我想对错误“没有名为 weight_vector 的模块”做类似的事情,比如在我的包含选项中添加“sklearn.linear_model.sgd_fast.weight_vector”。但是,它没有用。

我检查了目录“sklearn.linear_model.sgd_fast”,却发现 sgd_fast 是一个“.pyd”文件,而不是一个 .py 文件。也许这就是我的方法行不通的原因。

我对处理 pyd 文件一无所知。有没有人遇到过类似的问题或有任何想法?我真的需要你的帮助。

4

0 回答 0