jack_z63
jack_z63
采纳率100%
2019-01-06 17:43 浏览 2.0k

VS2017中针对“IronPython WPF应用程序 ”生成exe的方式

5

VS2017中有没有针对“IronPython WPF应用程序 ”生成exe的方式?

我想应该是有的吧!但寻找了一整天了,也没有找到。搜索了网上的资料,也没有解答这个问题的。谁能解答不胜感激!
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2019-01-06 19:51

    并没有。你可以转换为python 3.x代码(界面用pyqt改写),用py2exe,pyinstaller等工具。
    或者用C#、VB调用IronPython

    点赞 1 评论 复制链接分享
  • jack_z63 jack_z63 2019-01-06 22:55

    我仔细试了一下,ipyc.exe是可以用的,关键是要把相关的资源全部包括进来,这是一个很痛苦的过程,我下面的实验程序如下:
    1、xaml代码:
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="第一个Python程序——简单计算器" Height="300" Width="500">
    /*

































    */

    2、python代码:
    #encoding=utf-8
    #from future import division
    import traceback
    import wpf
    import clr

    clr.AddReference('IronPython.Wpf')
    from System.Windows import Application, Window

    class MyWindow(Window):
    def init(self):
    wpf.LoadComponent(self, 'WpfPython1.xaml')
    #self.Title = "第一个Python程序——简单计算器"

    def btnInput_Click(self, sender, e):
        self.txtInput.Text += sender.Content
    
        pass
    
    
    def btnClear_Click(self, sender, e):
        self.txtInput.Text = ""
        self.txtOutput.Text = ""
    
        pass
    
    
    def btnCalc_Click(self, sender, e):
        try:
            result = eval(self.txtInput.Text)
            self.txtOutput.Text = str(result)
        except Exception, e:
            tracelog = traceback.format_exc()
            self.txtOutput.Text = str(e)
        pass
    

    if name == '__main__':
    Application().Run(MyWindow())

    3、编译成winexe的命令如下:
    ipyc.exe wpfpython1.py /main:wpfpython1.py D:\Python\Lib\traceback.py D:\Python\Lib\linecache.py D:\Python\Lib\os.py D:\Python\Lib\ntpath.py D:\Python\Lib\stat.py D:\Python\Lib\genericpath.py D:\Python\Lib\warnings.py D:\Python\Lib\types.py D:\Python\Lib\UserDict.py D:\Python\Lib_abcoll.py D:\Python\Lib\abc.py D:\Python\Lib_weakrefset.py D:\Python\Lib\wpf.py D:\Python\net45\DLLs\IronPython.Wpf.dll /target:winexe /standalone

    最后的编译命令包含进来了14个库,哈哈!编译后的执行文件达4M之巨。但不管怎么说,能够独立运行了。

    点赞 评论 复制链接分享

相关推荐