<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[运维进行时]]></title> 
<link>https://blog.liuts.com/index.php</link> 
<description><![CDATA[互联网运维与架构]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[运维进行时]]></copyright>
<item>
<link>https://blog.liuts.com/post/70/</link>
<title><![CDATA[用pyinstaller把python源程序打包成exe]]></title> 
<author>root &lt;admin@yourname.com&gt;</author>
<category><![CDATA[Python]]></category>
<pubDate>Tue, 21 Aug 2007 15:58:07 +0000</pubDate> 
<guid>https://blog.liuts.com/post/70/</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;&nbsp;&nbsp;可將Python程式轉換成單獨的執行檔。執行的電腦上就不用安裝整套的Python了。 <br/>跨平台。目前可以在Windows, Linux及Irix下面執行並製作執行檔。 <br/>支援多種版本的Python。可以從Python 1.5支援到目前的2.4。或甚至更新的版本。 <br/>雙重包裝模式： <br/>單一路徑模式。可將所有相關的Python所需要的dll或是執行碼置於同一個目錄中。 <br/>單一執行檔模式。將所有的東西變成一個很大的單一執行檔。 <br/>支援UPX的執行檔壓縮。 <br/>可選擇的終端機文字輸出。可用來查看stdout及stderr的訊息。 <br/>可更換的執行圖示(僅於Windows上支援)。 <br/>完整的版本資訊設定(僅於Windows上支援)。 <br/>支援COM server的建立(僅於Windows上支援)。 <br/>PyInstaller與另外一套py2exe最大的差別就是它還多了對Linux的支援。這對於Linux的使用者來說真是個天大的好消息。 <br/>PyInstaller 本身並不是一個Python module。所以安裝PyInstaller時，只要找一個路徑將它解開後放入即可。不過，這樣並不算安裝完成。下一步，您要讓PyInstaller 認識一下您系統上面的Python。如此一來，它才知道如何為您包裝您寫的Python Script。下面的步驟只有非Windows的使用者需要。Windows的使用者，因為Python本來就已經被編譯成pythonXX.dll了。所以PyInstaller將會直接取用這些dll。 <br/>進入您的PyInstaller的安裝目錄後，找一個叫做Make.py的檔案。執行它！ <br/>正常的狀況下，會產生下面兩個檔案： <br/>support/loader/run <br/>support/loader/run_d <br/>如果您系統上有好幾個版本的Python。則執行Make.py的那個版本將會作為日後建立執行檔的依據。 <br/>接著執行在PyInstaller目錄中的Configure.py程式。它會將一些資訊儲存於config.dat中，以便日後使用。至此，您的PyInstaller可以說是安裝完畢了。接著就是要建立你的程式了。 <br/>首先，您的Python script應該已經通過某種程度的測試，並且準備要release給您的使用者。為了方便解說，我們假設您的script共有三個且放在同一個目錄下： <br/>main.py <br/>amodule.py <br/>bmodule.py <br/>當然，您的script內會import很多Python的模組，有些是Python預設的，也有些可能是您自行上網下載回來安裝的。這都沒有問題，只要您的程式確定可以正確的使用他們即可。 <br/>接著在您的目錄下執行下面的指令。 <br/>> python /Makespec.py main.py<br/>如果成功，您將看到在目錄下面多了一個xxxx.spec檔案。他的檔名通常是您的script檔名稱，但是副檔名會換成.spec。這個檔案會被後面的步驟所使用。 <br/>Makespec.py有一些特別的參數可以使用，例如：想要做出單一的執行檔，可用下面的方式： <br/>> python /Makespec.py --onefile main.py<br/>我們將比較常用的參數列出： <br/>--onefile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 製作出獨立的執行檔<br/>--onedir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;製作出的檔案街放在同一個目錄下（預設值）<br/>--tk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;製作包含TCL/TK的檔案。<br/>--windowed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;製作視窗程式。（程式執行時不會有文字視窗出現）<br/>--console&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 製作一般的console程式。<br/>--upx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 製作透過UPX壓縮過的執行檔。<br/>--icon=&nbsp;&nbsp; 指定程式的圖示。<br/>--version=&nbsp;&nbsp;&nbsp;&nbsp;指定程式的版本資訊(需要準備一個檔案放這些資訊)。<br/>--name=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定程式的名稱。若無此選項，則主script檔案的名稱將被使用。<br/>通常，完成後上面的步驟就不需要反覆執行。就算您又再度修改了source code，也只需要執行後面的動作就可以了。除非您重新變動了整個Python相關的環境。才需要再度執行前面的指令。 <br/>接下來的動作很簡單，您只要在程式的目錄下面執行下面的指令就可以了。 <br/>> python /Build.py <br/>其中，spec file就是前面Makespec.py所製作出來的spec file。以前面的例子來說，這個命令將會是： <br/>> python /Build.py main.spec<br/>成功的話，您應該會在這個目錄下面看到一個名為dist的目錄。其中就是您的程式名稱。就前面的範例而言，就是distmain這個目錄。 <br/>在這個目錄裡面的就是您要給使用者使用的檔案。如果您前面有開啟--onefile的選項。這個目錄下面將只會剩下一個可執行檔。所以，通常我都是將這個目錄下的東西整個用ZIP或是RAR等壓縮工具壓起來，再找個地方讓使用者來抓取就可以了。 <br/>這篇簡介或許不長，但是絕大部分的程式可能單靠這篇簡介就夠用了。這也代表著PyInstsaller有多簡單易用了。也許日後有人會有時間幫它寫個GUI的front-end，那就會更簡單了。 <br/><br/>------------------------win2000安装操作---------------------------<br/>下载:http://pyinstaller.hpcf.upr.edu/ <br/>解压后运行:Configure.py<br/>使用方法:<br/>E:&#92;python>python D:&#92;python&#92;pyinstaller-1.3&#92;Makespec.py --onefile --console --icon=./bubble.ico mypy.py<br/>E:&#92;python>python D:&#92;python&#92;pyinstaller-1.3&#92;Build.py mypy.spec<br/>生成:mypy.exe,搞定。<br/>Tags - <a href="https://blog.liuts.com/tags/%25E6%2589%2593%25E5%258C%2585/" rel="tag">打包</a> , <a href="https://blog.liuts.com/tags/pyinstaller/" rel="tag">pyinstaller</a>
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/70/#blogcomment2383</link>
<title><![CDATA[[评论] 用pyinstaller把python源程序打包成exe]]></title> 
<author>网购书桌 &lt;dkdy34@msn.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 25 Jul 2013 03:21:58 +0000</pubDate> 
<guid>https://blog.liuts.com/post/70/#blogcomment2383</guid> 
<description>
<![CDATA[ 
	旅行日记•西藏今天去羊湖，景色奇美。包车的师傅拉过《画皮2》摄制组，如此良机我怎能不八卦。师傅说陈坤人很好哟~
]]>
</description>
</item>
</channel>
</rss>