2015-05-10 4 views
1

Для примера я создал файл welcomeGUI.py с помощью простого графического интерфейса, как показано ниже, с помощью Tkinter.Как создать исполняемый файл Linux с использованием кода на Python

from Tkinter import * 
import ttk 

class Application(): 

    def __init__(self, master): 
     frame = Create_widgets(master) 
     frame.pack() 

class Create_widgets(Frame): 

    def __init__(self, master): 
     Frame.__init__(self, master) 

     self.toplabel = Label(master, text="Welcome!", font=('cambria', 20, 'bold'), 
         fg="white", bg="Midnight Blue") 
     self.toplabel.pack(fill=X, ipady=100) 

     statuslabel = Label(master, bg="Midnight Blue") 
     statuslabel.pack(fill=X) 
     self.midlabel = Label(master, text="Device ready,connect a flash drive to continue...", 
         font=('Ubuntu-L', 12), fg= "white", bg="Midnight Blue", anchor="n") 
     self.midlabel.pack(fill=X, ipady=5) 

     bottomlabel = Label(master, bg="Gainsboro") 
     bottomlabel.pack(side=BOTTOM, fill=X) 

     button1 = ttk.Button(bottomlabel, text="Close") 
     button1.pack(side=BOTTOM) 

#**** Main **** 

root = Tk() 
root.title("Projector Plus") 
root.configure(bg="Midnight Blue") 
root.minsize(550, 550) 

pro = Application(root) 

root.mainloop() 

Тогда мне нужно создать этот файл, который может быть установлен на Ubuntu (Для того, чтобы создать исполняемый файл на Ubuntu). В Windows это делается очень легко с .exe-файлом (с использованием cx-Freeze). На самом деле я понятия не имею о файловой системе Ubuntu и файлов оболочки.

Пожалуйста, помогите мне, чтобы получить представление об этой проблеме. Я не знаю, как войти в этот вопрос.

+0

http://stackoverflow.com/questions/12089254/distribute-python-code-as-executable-for-mac-windows-linux?rq = 1 Эта ссылка может быть полезной. – lpapez

+0

Вы имеете в виду включение других libs или это просто Tkinter? –

+0

Вы также можете использовать PyInstaller - это кроссплатформенный – Victor

ответ

1

В принципе, чтобы сделать исполняемый файл в системах Unix, вам просто нужно сделать одно: разрешить его выполнение (очень удивительно;)). Для этого вы должны использовать команду chmod следующим образом: chmod +x youfile.py. +x добавить право на исполнение.

Теперь ваша система позволит вам выполнить скрипт, но пока это простой текстовый файл ... Ubuntu не знает, что он должен использовать команду python для ее запуска, поэтому вы будете подорваны манера держаться. Чтобы решить эту проблему, мы используем строку sha-bang (для получения дополнительной информации см. Раздел wikipedia page): в первой строке вашего скрипта вы должны написать #! program_to_use, в вашем случае это python. Как правило, мы используем переменные env и используем #! /usr/bin/env python, но вы также можете выбрать себе версию python, которую хотите, делая #! /usr/bin/pythonX.X, где X.X - это версия python.

+0

Это хорошо работает в Ubuntu. Но что мне делать, если я использовал некоторые коды с OpenCV в своем приветствииGUI.py и запустил этот код на Raspberry Pi (без установки OpenCV в Raspberry Pi)? Должен ли я установить OpenCV в Raspberry Pi или есть ли альтернативные способы выполнения этой задачи? – RYJ

+0

Я никогда не использовал OpenCV, но вы можете установить его с помощью pip, если ваша малина подключена к Интернету или попытаться создать автономный python (см. [Здесь] (https://github.com/pyinstaller/pyinstaller/wiki), например). Наконец, вы можете попытаться найти файлы openCV (возможно, в/use/lib) и скопировать их с вашим исполняемым файлом: он может работать. – Spirine

+0

понятие исполняемого файла (основное значение) не имеет ничего общего с Unix.это всего лишь машинный код Тьюринга (он же машинный код), который должен запускаться НЕПОСРЕДСТВЕННО на универсальной машине Тьюринга, которую мы современно называем компьютером (это фактически процессор). Все, что действительно выполняется, делает это в машинных кодах. + x разрешение на Linux не имеет к этому никакого отношения: прекрасно читаемый текстовый скрипт bash должен быть запущен и, очевидно, не является исполняемым машиной. – iantonuk

0

1 - Добавить в верхней части этой строки файла: #!/bin/env python (Это может отличаться в зависимости от ENV переменной)

2 - сделать свой исполняемый файл с помощью:

а - В Unix системы, выполните следующую команду:

 `chmod +x myfile.py` 

б - в системе Windows, вы можете использовать утилиту py2exe найти на http://www.py2exe.org/

более

об этом можно найти на сайте:

https://docs.python.org/2/faq/windows.html#how-do-i-make-an-executable-from-a-python-script

+0

Это работает. Могу ли я сделать то же самое для любых файлов python? Я имею в виду, если я использовал OpenCV в моем .py-файле, и если я запустил этот код на компьютере без установки OpenCV. – RYJ

+0

Да, это будет, как указано на странице руководства py2exe: «py2exe превращает программы Python в пакеты, которые могут быть запущены на других компьютерах Windows, без необходимости установки Python на этих компьютерах. Python необходим на компьютере, где сам py2exe run, потому что py2exe - это программа Python, и она включает части Python в построенный пакет. " –

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