中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Pythonexe實際應用的八大步驟是怎樣的

發布時間:2021-10-28 16:39:52 來源:億速云 閱讀:136 作者:柒染 欄目:編程語言

Pythonexe實際應用的八大步驟是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

實際步驟

注:假設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

sprintf(szCmd, "PATH=%s\\dlls;%%PATH%%", szPath);   _putenv(szCmd);

把sys.path設定為['.', '自己的源代碼zip文件', '標準庫zip文件', 'dll目錄']
然后調用main模塊

sprintf(szCmd,   "import sys\n"   "sys.path=['.', r'%s\\mysrc.zip', r'%s\\stdlib.zip', r'%s\\dlls']\n"   "import main\n",   szPath, szPath, szPath);    Py_OptimizeFlag = 2;   Py_NoSiteFlag = 1;   Py_Initialize();   PyRun_SimpleString(szCmd);   return 0;   }

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆云县| 盈江县| 诏安县| 赣州市| 沁阳市| 大埔区| 耒阳市| 永昌县| 东乡族自治县| 石台县| 从江县| 文成县| 行唐县| 襄城县| 会理县| 柏乡县| 江都市| 长沙市| 阿坝县| 呼图壁县| 科技| 连山| 额济纳旗| 东至县| 孙吴县| 恭城| 黄梅县| 马山县| 滨州市| 襄垣县| 共和县| 亳州市| 嫩江县| 玉树县| 寻乌县| 夏河县| 峡江县| 名山县| 镶黄旗| 米易县| 青河县|