2013-05-15 3 views
1

Для предисловий, у меня очень мало знаний на питоне, поэтому самое простое решение, вероятно, будет лучшим.Компиляция скрипта python, который я написал как .exe и .app

По сути, я написал программу, которая берет вход пользователя и записывает его в текстовый файл. Я создал графический интерфейс с Qt и PySide. Теперь я хочу скомпилировать все вместе, чтобы быть единственным .exe-файлом, который я могу просто бросить в круг любого, кто хочет его использовать. В принципе, он должен иметь возможность запускать один единственный файл .exe на компьютере, который не обязательно содержит какие-либо из библиотек python, которые у меня есть.

Единственный импорт по программе

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

в случае тех, которые важны для составления. Спасибо за помощь, я ценю это.

P.S. Это для моей бабушки, у которой почти нет знаний о компьютерах. Если возможно, было бы здорово, если бы это просто ... открылось. Я не возражаю, если он должен запустить что-то в cmd, чтобы установить все вещи python, до тех пор, пока .exe, с которого запускается программа, все еще JUST .exe.

ответ

1

Я подозреваю, что ваша бабушка использует окна в этом случае я рекомендуется использовать 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/)

открыть свой CMD проворная

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

Исполняемый файл должен быть найден в DIST папке, созданной

+0

Скачивали, но когда я дважды щелкнули setup.py в извлеченной папке, просто мелькнула CMD и не создать каталог, указанный. Я чувствую себя идиотом, но как его установить? –

+0

Вы читаете инструкции? в любом случае вы просто извлекаете его ... в нем особо говорится: «Не запускайте setup.py напрямую» ... если вы извлечете его, чтобы сказать 'C: \ pyinstaller', он должен иметь' pyinstaller.py', который находится в этом каталоге вы просто вызываете это (из папки, где находится ваш файл python), с приведенной выше командой –

+0

Мои извинения, я нашел документацию сразу после публикации комментария. Кроме того, он действительно создал .exe, но, похоже, не работает. Он отлично работал в python, но когда я запускаю созданный .exe, ничего не происходит вообще. –

Смежные вопросы