在我的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