在我的IronPython脚本中,我使用了标准库文件模块,如ConfigParser,logging和JSON。将IronPython编译为使用标准库包的exe文件
然后我用pyc.py来创建一个可执行文件。起初,我遇到了一些问题,即'...ImportException: no module named ...'
,因为它们没有被包含在exe和附带的dll中。
所以我从这里运行了一个解决方案:IronPython: EXE compiled using pyc.py cannot import module "os"它大部分工作。
例如,导入'ConfigParser'会在IronPython'Lib'文件夹中作为一个模块工作,它在那里作为'ConfigParser.py'。不过,我仍然在使用JSON
和logging
时遇到问题,因为它们位于文件夹内(包?)。我感觉我只是缺少一些简单的东西,可能需要阅读更多关于python模块以及它们是如何工作的,但我不知道我应该在寻找什么。 任何帮助将不胜感激。
谢谢!
编辑:
我不能回答我的问题,所以我会在这里离开这个。
不知何故,它以一种非常'黑客'的方式工作。必须有另一种更简洁的解决方案,这一点,我很想念
这里就是我所做的(在pyc.py一些选项):
1)制造从上面的链接所产生的StdLib.dll文件( IronPython: EXE compiled using pyc.py cannot import module "os")。这将会丢失std lib软件包。使用SharpDevelop的编译未包括在上述的dll标准lib包下这里的方法
2):用于SharpDevelop的建立了一个程序,将所有的引用一起http://community.sharpdevelop.net/blogs/mattward/archive/2010/03/16/CompilingPythonPackagesWithIronPython.aspx
3)。 - 参考步骤2中制作的dll - 参考步骤1中提供的StdLib.dll
同样,必须有更好的解决方案。
回想起来,我的答案应该使用目录行走类来实现这一点。我提供了这个类,但没有复制正确的代码。抱歉 – WombatPM