python 文件打包成EXE

5-27 5,940 views

你是否有這樣的煩腦,用Python寫了一個很酷的程式,傳給你同學看卻因為他沒有裝Python直譯器,為了執行你這個小程式,他得安裝直譯器才能執行,更麻煩的還有第三方的模組要安裝,意願就大大的降低,同樣的,面對你的客戶,你總不能要求你的客戶安裝Python直譯器,然後用easy_install下載需要的模組,那會是很麻煩的事情,很多時候,我們希望Python像.exe檔一樣只要是Windows就可以執行,該如何解決?

注意:电脑提示找不到MSVPC90.DLL  网上下载一个 考到系统文件夹下就好

 

py2exe

所幸我們有現成的工具可以使用,叫做py2exe,它會將Python程式所需要的東西收集,並且打包成可以不用安裝直譯器就可以執行的.exe程式,以下我們就教你一步一步將Python程式打包成.exe檔

安裝py2exe

如果你有安裝easy_install,你可以直接在cmd下這樣的指令,就可以輕鬆地安裝py2exe,關於easy_install的教學可以參考這篇   随便下载 安装 比较简单

  1. easy_install py2exe  

如果沒有的話,你可以直接從它的官方網站下載並且安裝

開始打包

首先,你需要建立一個這樣的python檔案,放在你想打包的python程式同一個目錄下

  1. from distutils.core import setup   
  2. import py2exe   
  3.   
  4. setup(console=[‘python_file.py’])  

其中的python_file.py請改成你要當做執行檔的python檔案名稱,例如我想打包test.py成為.exe檔,就將上面程式裡的python_file.py改成test.py,當完成之後,檔名存成setup.py,放在你python程式的同一個目錄下

接著,開啟 開始 -> 執行 -> cmd,也就是所謂的命令提示字元,然後切換到你專案所在的目錄,然後執行如下面指令

  1. cd /d G:\Programming\Python\dstreamer\src\src\dist   
  2. python setup.py install  

完成之後,再執行以下指令

  1. python setup.py py2exe  

此時py2exe就會開始幫你收集你程式會用到的模組,並且打包好,如果沒有問題,執行完同一個目錄下應該會多出build和dist兩個資料夾,dist裡會有一個和你python檔案名稱一樣的.exe檔,那就是封裝後的.exe執行檔,而該目錄下的所有其它檔案,就是該執行檔所需要的模組和檔案所封裝成的檔案,因此如果想要將程式移到沒有安裝Python直譯器的環境下執行,只要將dist下的所有檔案複製過去然後再執行.exe檔就可以了

常見錯誤

有一個很常見的錯誤是,我成功地產生了.exe檔,也可以執行,但一執行就會產生找不到模組的錯誤,如下面所示範

  1. Traceback (most recent call last):   
  2.   File “demo3.py”, line 7, in <module>   
  3.   File “base.pyc”, line 5, in <module>   
  4.   File “twisted\web\client.pyc”, line 16, in <module>   
  5.   File “twisted\web\error.pyc”, line 9, in <module>   
  6. ImportError: No module named resource 

centos7安装python3.8

1.安装python 依赖 sudo yum -y install epel-release sudo yum -y update 安装完后可以 reboot 重其服务器,非必须。 2.安装gcc编译环境等等 sudo yum -y gro...

阅读全文

python清空文件夹下log文件

#!/usr/bin/python import os import sys files_list = [] def print_files(path): lsdir = os.listdir(path) dirs = [i for i in lsdir if os.path...

阅读全文

python paramiko(SFTP) 相关文档

python paramiko SFTP文档地址: http://docs.paramiko.org/en/2.4/api/sftp.html import paramiko host = "THEHOST.com" #...

阅读全文

欢迎留言