0

これは私が得たエラーです:

Traceback (most recent call last):
    File "C:\Python34\lib\tkinter\__init__.py", line 1487, in __call__
return self.func(*args)
    File "interface.py", line 231, in testsubmit
    File "interface.py", line 202, in optimizations
    File "C:\Python34\lib\site-packages\pulp-1.5.6-py3.4.egg\pulp\pulp.py", line 1619, in solve
status = solver.actaualSolve(self,**kwargs)
AttributeError: 'NoneType' object has no attribute 'actualSolve'

Windows で python 3.4 の py2exe を使用しました。Python から同じコードを実行できますが、.exe ファイルを変換した後、実行されず、上記のエラー メッセージが表示されます。.py から .exe への変換中にエラーは発生しませんでした。コードは Tkinter を使用して GUI を作成しており、pulp を使用した線形最適化もあります。それがなぜなのか、誰にも分かりますか?コードの一部:

from tkinter import *
from tkinter.ttk import *
from pulp import *

class Gui(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent)
        self.parent = parent
        self.initUI()
def optimizations(self):
    numberEzroofmtg, lngths, wdths, hghts = self.lengthsEzmtg()        
    prob = pulp.LpProblem('the simple problem', LpMinimize)

    self.indices = ['206_rail','164_rail','124_rail','84_rail']

    self.x = pulp.LpVariable.dict("x_%s", self.indices,lowBound =0, cat = LpInteger)
    # length data
    self.lengths = dict(zip(self.indices, [206, 164, 124, 84]))
    prob += sum([self.x[i]*self.lengths[i] for i in self.indices]) >= lngths
    prob += self.x['124_rail'] <= 1
    prob.solve()

    return int(self.x['164_rail'].value())*2, int(self.x['124_rail'].value())*2
    self.quit()

def testsubmit(self):
    Rails_164, Rails_124 = self.optimizations()

    self.entries['Number of Helio Std. Rail (L=164)'].delete(0,END)
    self.entries['Number of Helio Std. Rail (L=164)'].insert(0, Rails_164 )
4

1 に答える 1

1

パルプ モジュールが利用可能なソルバーを見つけられないようです。私が言えることから、それは外部のDLLとコマンドを使用して解決を行い、py2exeはこれを知る方法がないため、それらを含めません。dist-fileおそらくスクリプトでキーワードを使用して、これらのファイルを使用していることをpy2exeに明示的に伝える必要がありますsetup.py

于 2014-07-22T05:01:31.167 に答える