我有一个python脚本,它使GUI。当按钮“运行”在该GUI被按下它运行从导入的包(我制造)这样如何添加多个文件到py2app?
from predictmiP import predictor
class MiPFrame(wx.Frame):
[...]
def runmiP(self, event):
predictor.runPrediction(self.uploadProtInterestField.GetValue(), self.uploadAllProteinsField.GetValue(), self.uploadPfamTextField.GetValue(), \
self.edit_eval_all.Value, self.edit_eval_small.Value, self.saveOutputField)
的函数当我从蟒直接运行的GUI这一切工作良好,程序写入的输出文件。但是,当我将它制作成应用程序时,GUI会启动,但是当我按下按钮时,什么也没有发生。与我正在使用的所有其他导入一样,predictmiP确实包含在build/bdist.macosx-10.3-fat/python2.7-standalone/app/collect /中(尽管它是空的,但与所有其他导入一样我有)。
如何获得多个python文件或导入的包与py2app一起使用?
我setup.py:
“” “ 这是py2applet
用法产生一个setup.py脚本: 蟒蛇setup.py py2app ”“”
from setuptools import setup
APP = ['mip3.py']
DATA_FILES = []
OPTIONS = {'argv_emulation': True}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
编辑:
它看起来编辑喜欢它的工作,但它只适用于一点点。从我的GUI我打电话
blast.makeBLASTdb(self.uploadAllProteinsField.GetValue(), 'allDB')
# to test if it's working
dlg = wx.MessageDialog(self, "werkt"+self.saveOutputField, "werkt", wx.OK)
dlg.ShowModal() # Show it
dlg.Destroy() # finally destroy it when finished.
blast.makeBLASTdb看起来是这样的:
def makeBLASTdb(proteins_file, database_name):
subprocess.call(['/.'+os.path.realpath(__file__).rstrip(__file__.split('/')[-1])+'blast/makeblastdb', '-in', proteins_file, '-dbtype', 'prot', '-out', database_name])
这个函数被调用,makeblastdb我通过调用子确实输出的文件。然而,程序不会继续,
dlg = wx.MessageDialog(self, "werkt"+self.saveOutputField, "werkt", wx.OK)
dlg.ShowModal() # Show it
在接下来的行永远不会被执行。
你的setup.py在哪里?这个预测模块/包是什么?纯Python还是什么? – mmgp
它是纯Python。我将编辑我的问题以包含我的setup.py –
将问题简化为一个独立的示例,以获得更准确的帮助。 – mmgp