python如何导入多个文件_如何将多个文件添加到py2app?

本文档描述了在使用py2app打包Python应用程序时遇到的问题,即导入的包在GUI中无法正常运行。作者指出,尽管导入的`predictmiP`模块在打包后的应用中存在,但其功能未被执行。通过展示`setup.py`脚本和部分代码,作者展示了如何尝试解决这个问题,包括使用`argv_emulation`选项。尽管`blast.makeBLASTdb`函数能够执行,但后续的代码执行却停止了,特别是`wx.MessageDialog`显示后无法继续执行。
摘要由CSDN通过智能技术生成

我有一个

python脚本,它可以创建一个GUI.当在此GUI中按下“运行”按钮时,它会从导入的包(我制作)中运行一个函数

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)

当我直接从python运行GUI时,它运行良好,程序写入一个输出文件.然而,当我进入应用程序时,GUI启动,但是当我按下按钮时没有任何反应. predictmiP确实包含在build / bdist.macosx-10.3-fat / python2.7-standalone / app / collect /中,就像我正在使用的所有其他导入一样(虽然它是空的,但是和所有其他导入一样我有).

如何获取多个python文件,或导入的包与py2app一起使用?

我的setup.py:

“””

这是py2applet生成的setup.py脚本

用法:

python 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

在下一行中永远不会执行.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值