编译python脚本我写的是.exe和.app

时间:2013-05-15 21:37:04

标签: python user-interface compilation

前言,我的python知识很少,所以最简单的解决方案可能是最好的解决方案。

基本上,我编写了一个程序,它接受用户输入并将其写入文本文件。我用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。

2 个答案:

答案 0 :(得分:1)

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

打开你的cmd提示

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

exe应该在创建的dist文件夹中找到

答案 1 :(得分:1)

我怀疑你的祖母使用的是Windows,在这种情况下我建议使用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/