成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Pythonexe的實際操作步驟

開發 后端
以下的文章是對Pythonexe有關的原理,實際步驟,如果你對Pythonexe這一計算機語言與一些不解之處時,你可以通過我們的文章了解其實際應用。

你對Pythonexe如果感興趣的話,你想知道Pythonexe的相關原理的詳細的介紹的話,你可以到我們的文章了解一下他的具體應用,及相關的功能介紹,以下是我們對其原理三大功能的主要描述。

Python6. 把c:\python25\dlls目錄中的.pyd和.dll文件,復制到d:\dist\dlls目錄沒有內建一個編譯為exe的功能。給python程序的部署帶來不少的麻煩。 所以就會出現一些py2exe之類的很不錯的工具,用于自動把.py文件編譯為.exe文件。 最近抽空研究了一下動實現類似py2exe的功能,希望加強對python的了解。 結果還相當不錯。把結果記錄下來,與大家共享。

原理

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

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

 實際步驟

注:假設Pythonexe安裝在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目錄中
中,當然,刪除不可能用到的一些文件_msi.pyd,_ssl.pyd等等,可以減少文件的體積

7. 把自己寫的程序,也按步驟2至步驟5所說的方法,打成一個mysrc.zip包,放到d:\dist目錄中。 注意:自己寫的程序的入口應該是main.pyo文件
8. 用以下C程序編譯出一個可執行文件,比方說叫runpy.exe,也放到d:\dist中。

  1. #include <Python.h>   
  2. #include <Windows.h>   
  3. #include <stdlib.h>   
  4. #include <stdio.h>   
  5.  
  6. int main()   
  7. {   
  8. //   

 

得到當前可執行文件所在的目錄

  1. char szPath[10240];   
  2. char szCmd[10240];   
  3. GetModuleFileName(NULL, szPath, sizeof(szPath));   
  4. char* p = strrchr(szPath, '\\');   
  5. if (p == NULL)   
  6. {   
  7. printf("Get module file name error!\n");   
  8. return -1;   
  9. }   
  10.  
  11. *p = 0;   
  12.  
  13. //   

 

設定運行時的PATH

  1. char szPath[10240];   
  2. char szCmd[10240];   
  3. GetModuleFileName(NULL, szPath, sizeof(szPath));   
  4. char* p = strrchr(szPath, '\\');   
  5. if (p == NULL)   
  6. {   
  7. printf("Get module file name error!\n");   
  8. return -1;   
  9. }   
  10.  
  11. *p = 0;   


 

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

 

 

把python25.dll放到d:\dist目錄中即可完成手動制作pythonexe可執行程序的部分程序 。



 

責任編輯:佚名 來源: 電子工業出版社
相關推薦

2010-04-20 11:06:33

Oracle索引

2010-04-06 08:58:27

Oracle job

2010-07-21 15:22:07

2010-04-02 13:34:33

Oracle DBA

2010-05-12 13:45:25

Mysql 復制設置

2010-05-28 14:42:00

MySQL使用備忘

2010-06-09 11:40:32

MySQL SQL 語

2010-09-13 09:53:42

IT服務管理

2010-05-13 16:21:58

2010-04-15 14:30:35

Oracle創建

2010-05-26 14:06:44

MySQL查詢

2010-04-15 13:51:06

Oracle EBS

2010-04-21 17:09:17

Oracle安裝

2010-05-17 16:52:14

MySQL limit

2010-05-20 15:39:14

MySQL支持中文

2010-05-27 10:35:09

查詢MySQL數據

2010-06-01 15:54:46

MySQL-pytho

2010-07-16 11:10:52

SQL server

2010-05-13 17:00:32

MySQL啟動方法

2010-05-28 18:16:43

MySQL 操作日志
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久机热 | 国产成人网 | 一道本不卡视频 | 999久久久国产精品 欧美成人h版在线观看 | 91在线免费视频 | 99视频在线免费观看 | 爽爽免费视频 | 视频一区二区在线观看 | 中文字幕亚洲免费 | 1000部精品久久久久久久久 | 91在线精品秘密一区二区 | 久久综合久色欧美综合狠狠 | 日一区二区 | 精品国产乱码久久久久久牛牛 | 国产一区二区三区免费观看视频 | 国产激情一区二区三区 | 国产一区二区三区四区 | 亚洲午夜小视频 | 国产伦精品一区二区三区在线 | 日韩精品一二三区 | 野狼在线社区2017入口 | 国产综合久久久久久鬼色 | 亚洲在线一区二区 | www.色午夜.com | 国产 欧美 日韩 一区 | 久久国产精品久久久久 | 人妖一区 | 亚洲三级免费看 | 成人黄色a | 精品欧美乱码久久久久久 | 蜜月va乱码一区二区三区 | 久久久久久国产精品免费免费狐狸 | 久久精品中文 | 九一在线 | 国产精品亚洲一区二区三区在线 | 亚洲高清在线 | 日韩精品 电影一区 亚洲 | 国产精品久久午夜夜伦鲁鲁 | 欧美a级网站 | 欧美一级在线免费观看 | 亚洲国产中文字幕 |