国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python cx_freeze打包工具處理問題思路及解決辦法

2019-11-25 16:56:31
字體:
來源:轉載
供稿:網友

以下是在使用cx_freeze過程中遇到的問題及解決辦法(Win7)

1.問題描述:運行exe,啟動無數個主程序,導致系統無法使用

    原因:在程序中使用了multiprocessing的包

    解決辦法:在主文件if __name__ == "__main__":后,添加multiprocessing.freeze_support(),一定要在添加在最開始處

2. 問題描述:運行后,提示在freeze_support中sys.stdout.flush處異常

   原因:使用的PyQT作為界面,沒有控制臺

   解決辦法:在調用multiprocessing.freeze_support()前,重定向stdout和stderr,添加:sys.stdout = io.StringIO()和 sys.stderr = io.StringIO()

3.使用shelve模塊,IDE下調試可以正常使用,打包后無法使用

    原因:shelve 的 open 函數在運行中還會裝入其它的數據庫管理模塊,無從了解還需要哪些額外的包,故在打包時就漏掉了一些必要的模塊

    解決辦法:修改打包腳本,添加如下內容:

packages = []for dbmodule in ['dbhash', 'gdbm', 'dbm', 'dumbdbm']:try:__import__(dbmodule)except ImportError:passelse:# If we found the module, ensure it's copied to the build directory.packages.append(dbmodule)options = {'build_exe': {'includes': 'atexit',"packages": packages}}

4.使用inspect.getsourcelines異常OSError: could not get source code

  原因:打包后,都是pyc文件,沒有源代碼,導致動態獲取代碼失敗

  解決辦法:將包含所需源碼的py文件打包到library.zip文件中,在‘build_exe'參數中,增加'zip_includes':['path//source.py']

以上給大家分享了Python cx_freeze打包工具處理問題思路及解決辦法,希望對大家有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 毕节市| 临沧市| 昭觉县| 平顺县| 汕头市| 贵南县| 临夏市| 鲜城| 抚松县| 中西区| 乌鲁木齐县| 萝北县| 漳浦县| 墨玉县| 南岸区| 丰原市| 舞阳县| 孟州市| 平江县| 泗水县| 阿拉善右旗| 墨脱县| 嵊泗县| 同仁县| 阿尔山市| 沧州市| 莱州市| 昭苏县| 儋州市| 卓尼县| 永年县| 九江县| 南江县| 刚察县| 益阳市| 旅游| 洪洞县| 迁安市| 汾西县| 宁德市| 休宁县|