2013-05-15 8 views
1

的python腳本爲了說明,我對Python的知識很少,所以最簡單的解決方案可能是最好的。編譯一個我編寫爲.exe和.app

本質上,我寫了一個程序,它接受用戶輸入並將其寫入文本文件。我用Qt和PySide創建了一個GUI。我現在想要做的就是將所有東西一起編譯成一個.exe文件,我可以放入任何想使用它的人的圈中。基本上,它需要能夠在計算機上運行1個單一的.exe文件,該文件不需要安裝我的任何python庫。

節目單上的唯一進口

import sys 
from PySide.QtCore import * 
from PySide.QtGui import * 
from math import * 

的情況下,這些都是編譯重要。謝謝你的幫助,我很感激。

P.S.這是給我的祖母,他幾乎沒有電腦方面的知識。如果可能的話,它會很棒,如果它只是...打開。我不介意它是否必須運行cmd來安裝所有python的東西,只要運行程序的.exe仍然是一個.exe。

回答

1

dist文件夾中找到我懷疑你的祖母使用在這種情況下窗戶我會推薦使用py2exe。 這裏可能都是你需要的... 1)。創建以下腳本並將其最後一行修改爲實際腳本的名稱(請參閱其最後一行)

#execmaker.py would be the name of this file 
#stable version 
from distutils.core import setup 
import py2exe 

includes = [] 
excludes = ['_gtkagg', '_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger', 
      'pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl', 
      'Tkconstants', 'Tkinter'] 
packages = [] 
dll_excludes = ['libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll', 'tcl84.dll', 
       'tk84.dll'] 

setup(
    options = {"py2exe": {"compressed": 2, 
          "optimize": 2, 
          "includes": includes, 
          "excludes": excludes, 
          "packages": packages, 
          "dll_excludes": dll_excludes, 
          "bundle_files": 3,#dont bundle else unstable 
          "dist_dir": "dist", 
          "xref": False, 
          "skip_archive": False, 
          "ascii": False, 
          "custom_boot_script": '', 
         } 
       }, 
    windows=['My_Script.py'] #this is the name of your actual script 
) 

2)。那麼你可以去到這個腳本和你實際的腳本駐留通過CMD的目錄,然後鍵入

python execmaker.py py2exe 

您現在應該有一個工作的可執行文件。現在你可以雙擊可執行文件,你的腳本就會運行。哦,是的,如果你有問題請遵循這個傢伙的指示......他很好!

http://www.blog.pythonlibrary.org/2010/07/31/a-py2exe-tutorial-build-a-binary-series/

+0

一切正常!另外,出於某種原因,當我將'execmaker.py py2exe'放入cmd時,它會運行。出於某種原因,它不會將'python'識別爲函數。但它的工作。它確實創建了一堆文件。任何方式讓它構建應用程序作爲單個文件? –

+0

我很高興它做到了。它不認識python的原因是因爲你需要做這個小竅門,涉及將python添加到此處詳細介紹的路徑中... http://stackoverflow.com/questions/3701646/how-to-add-to-the- PYTHONPATH,在窗口-7。如果您更改了bundle_files參數,它應該會生成更加整潔的最終產品...查看我發佈的鏈接。 –

1

下載pyinstaller(http://www.pyinstaller.org/

打開命令提示符

cd folder 
c:\pyinstaller\pyinstaller.py --noconsole --onefile my_script.py 

exe文件應該在創建

+0

下載了它,但是當我解壓文件夾內雙擊setup.py,它只是一閃cmd並沒有創造出你指定的目錄。我覺得自己像一個白癡,但我該如何安裝它? –

+0

你看了方向?無論如何你只是提取它......它非常具體地說「不要直接運行setup.py」......如果你提取它來說'C:\ pyinstaller'它應該有一個位於該目錄中的'pyinstaller.py'你只需通過上面的命令(從你的python文件所在的文件夾)調用它( –

+0

)我很抱歉,我在發表評論後發現了文檔。 此外,它確實創建了.exe,但似乎不起作用。它在Python中運行得非常好,但是當我運行創建的.exe時,根本沒有任何反應。 –