亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

手動實現把python項目發布為exe可執行程序過程分享

2020-02-23 06:05:54
字體:
來源:轉載
供稿:網友

1. 手動制作python的exe可執行程序Python沒有內建一個編譯為exe的功能。給python程序的部署帶來不少的麻煩。所以就會出現一些py2exe之類的很不錯的工具,用于自動把.py文件編譯為.exe文件。

最近抽空研究了一下手動實現類似py2exe的功能,希望加強對python的了解。結果還相當不錯。把結果記錄下來,與大家共享。

1.1. 原理文中所描述的方法,基于python的以下幾個功能 

  1) python程序運行時,會在sys.path指定的路徑中查找庫文件。 
  2) python從2.3開始,支持從zip文件中import庫(支持.py,.pyc和.pyo,但不支持.pyd)
  3) python提供C API,讓c語言的程序,可以很方便的調用python的程序

1.2. 實際步驟注:假設python安裝在c:/python25目錄中,最后的可執行文件放到d:/dist目錄中 

  1) 先去c:/python25/Lib目錄,把所有文件都復制出來,比如復制到d:/pythonlib目錄中
  2) 開一個cmd窗口,進入d:/pythonlib目錄中,運行 python -OO compileall.py -f . 把lib中的.py文件都編譯成.pyo文件
  3) 刪除d:/pythonlib目錄中所有的.py和.pyc文件,因為我們只要有.pyo文件就可以讓這些庫運行了。
  4) 刪除目錄中所有用不著的文件,比如curses,test,idlelib,msilib等,以減少生成文件的體積。
  5) 把這些庫打包成一個zip文件,比如stdlib.zip,放到d:/dist目錄中
  6) 把c:/python25/dlls目錄中的.pyd和.dll文件,復制到d:/dist/dlls目錄中,當然,刪除不可能用到的一些文件_msi.pyd,_ssl.pyd等等,可以減少文件的體積
  7) 把自己寫的程序,也按步驟2至步驟5所說的方法,打成一個mysrc.zip包,放到d:/dist目錄中。 注意:自己寫的程序的入口應該是main.pyo文件
  8) 用以下C程序編譯出一個可執行文件,比方說叫runpy.exe,也放到d:/dist中。

代碼如下:
#include <Python.h>
#include <Windows.h>
#include <stdlib.h>
#include <stdio.h>

int main()
{
       // 得到當前可執行文件所在的目錄
       char szPath[10240];
       char szCmd[10240];
       GetModuleFileName(NULL, szPath, sizeof(szPath));
       char* p = strrchr(szPath, '//');
       if (p == NULL)
       {
            printf("Get module file name error!/n");
            return -1;
       }

       *p = 0;

       // 設定運行時的PATH

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美区在线播放| 久久精品国产亚洲精品| 欧美性猛交xxxx| 最近2019年手机中文字幕| 日韩中文字在线| 国产精品入口福利| 国产亚洲福利一区| 欧美日韩中国免费专区在线看| 亚洲免费福利视频| 97成人精品区在线播放| 97视频免费观看| 久久精品电影一区二区| 国产精品激情自拍| 亚洲美女在线观看| 欧美成人精品在线播放| 国产丝袜精品视频| 国产成人在线播放| 日韩视频在线免费观看| 17婷婷久久www| 久久国内精品一国内精品| 国产精品一区二区久久久| 青青a在线精品免费观看| 国产欧美婷婷中文| 亚洲人成亚洲人成在线观看| 日韩av一卡二卡| 日韩不卡在线观看| 亚洲国产精品大全| 欧美成在线视频| 国产精品国产自产拍高清av水多| 精品小视频在线| 久久在线观看视频| 中文字幕日韩电影| 日韩电影中文字幕一区| 国产香蕉97碰碰久久人人| 亚洲免费伊人电影在线观看av| 九九热99久久久国产盗摄| 国产精品免费久久久| 成人免费淫片视频软件| 亚洲在线免费视频| 国产精品爽黄69| 国产精品美腿一区在线看| 国产精自产拍久久久久久蜜| 亚洲精品国产精品久久清纯直播| 中文字幕亚洲无线码在线一区| 欧美久久精品一级黑人c片| 欧美黑人性生活视频| 欧美在线国产精品| 亚洲国产成人久久| 97精品国产97久久久久久| 在线国产精品视频| 久久免费视频网站| 日韩av三级在线观看| 亚洲午夜色婷婷在线| 久热99视频在线观看| 伊人久久久久久久久久久| 成人免费大片黄在线播放| 欧美日韩精品中文字幕| 国产精品va在线播放| 亚洲天堂免费在线| 成人精品视频99在线观看免费| 欧美激情精品久久久久久蜜臀| 精品福利在线视频| 亚洲自拍另类欧美丝袜| 日韩在线观看免费| 欧美香蕉大胸在线视频观看| 菠萝蜜影院一区二区免费| 91成人在线播放| 欧美午夜性色大片在线观看| 8050国产精品久久久久久| 91在线看www| 亚洲国产成人精品女人久久久| 成人黄色免费网站在线观看| 欧美一性一乱一交一视频| 亚洲精品在线不卡| 国产精品久久久久久亚洲影视| 亚洲自拍欧美色图| 国产精品美女久久久久av超清| 亚洲女人天堂色在线7777| 国内精品在线一区| 成人欧美在线观看| 国产91精品最新在线播放| 欧美日韩一区二区三区| 中文字幕一区二区精品| 97婷婷涩涩精品一区| 日韩中文字幕在线免费观看| 91精品国产综合久久香蕉922| 成人做爽爽免费视频| 欧美亚洲另类制服自拍| 国产精品久久久久久av福利| 亚洲网站在线看| 欧美午夜丰满在线18影院| 国产成人精品国内自产拍免费看| 国产精品一区二区三区成人| 欧美国产视频一区二区| 欧美成人精品一区二区| 欧美大尺度激情区在线播放| 91禁国产网站| 亚洲精品欧美日韩专区| 国产精品美腿一区在线看| 国产综合在线观看视频| 国产精品久久久久77777| 久久这里只有精品99| 亚洲成人精品久久| 日韩成人中文字幕在线观看| 亚洲欧美日韩中文在线制服| 国产视频在线观看一区二区| 国产盗摄xxxx视频xxx69| 亚洲国产第一页| 高潮白浆女日韩av免费看| 欧美视频一二三| 亚洲激情自拍图| 国产精品久久久久久久久粉嫩av| 亚洲少妇中文在线| 色樱桃影院亚洲精品影院| 91超碰中文字幕久久精品| 成人av色在线观看| 国外成人在线直播| 久久久精品免费| 色系列之999| 国产日韩精品电影| 成人免费黄色网| 91综合免费在线| 亚洲男人av在线| 国产精品久久久久久久久久久久久| 精品久久久久久国产91| 亚洲成年网站在线观看| 国产精品视频26uuu| 日韩网站免费观看高清| 91网站免费看| 欧美激情第6页| 久久久久亚洲精品国产| 欧美激情亚洲精品| 日韩午夜在线视频| 国产精彩精品视频| 日韩美女av在线免费观看| 精品视频9999| 18久久久久久| 51ⅴ精品国产91久久久久久| 中文字幕亚洲二区| 国产精品www网站| 国产精品亚洲视频在线观看| 精品国产精品自拍| 欧美裸体xxxx极品少妇软件| 精品久久久91| 九九热视频这里只有精品| 日韩成人在线视频| 日韩二区三区在线| 永久免费精品影视网站| 午夜精品福利电影| 亚洲第一页中文字幕| 亚洲国产成人91精品| 欧美特黄级在线| 热久久这里只有| 欧美视频在线观看免费| 欧美劲爆第一页| 国产精品久久久久久影视| 亚洲国产精品成人va在线观看| 久久久久久91香蕉国产| 91在线免费视频| 人人做人人澡人人爽欧美| 久久夜色精品亚洲噜噜国产mv| 亚洲精品天天看| 国产精品视频区1| 97精品国产91久久久久久|