VS2017中有没有针对“IronPython WPF应用程序 ”生成exe的方式?
我想应该是有的吧!但寻找了一整天了,也没有找到。搜索了网上的资料,也没有解答这个问题的。谁能解答不胜感激!
并没有。你可以转换为python 3.x代码(界面用pyqt改写),用py2exe,pyinstaller等工具。
或者用C#、VB调用IronPython
我仔细试了一下,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之巨。但不管怎么说,能够独立运行了。