Найти - Пользователи
Полная версия: запуск програм Pyton под Ubuntu
Начало » Python для новичков » запуск програм Pyton под Ubuntu
1 2
sovuschka
работал я на Виндовсе в Pyton3.4 пришлось поставить свою прогу на Ubuntu 14.10 в режиме отладки все вроде заработало но вот что то я не могу понять одного, а как сделать так, чтоб прога, написанная в Pyton запускалась после того как по ней кликнули??? в Виндовсе же так происходит!!!! а пока я должен запустить IDLE из под нее открыть файл и вот тогда по F5 прога стартует…. а в виндовсе просто клик - и работает!!!!! что я делаю не так??? может что то нужно в Ubuntu сделать?
terabayt
sovuschka
что я делаю не так???
не используете терминал

нужно или смотреть настройки файлового менеджера, в убунту кажется наутилус
или вначале пайтон файл написать
#!/usr/bin/python
а в теминале
chmod +x имя_программы.py

но я бы все это не советовал делать! используйте терминал
sovuschka
т.к. с Ubuntu я без году неделя работаю то, пожалуйста, покажите примером …
вообще по итогу должна быть иконка, ярлык (кстати их то я и не нашел в Ubuntu) чтоб ее тыркнуть и все запустилось..
py.user.next
sovuschka
чтоб ее тыркнуть и все запустилось
Можно так сделать.

Сделай файл:

w.py
#!/usr/bin/env python3
 
import tkinter
 
if __name__ == '__main__':
    tkinter.Tk().mainloop()

Поставь право на выполнение:
chmod +x w.py

Запусти из консоли его:
./w.py

А потом два раза щёлкни по нему.

sovuschka
вообще по итогу должна быть иконка, ярлык
В KDE легко можно сделать ярлык и иконку установить ему. Там файл .desktop создаётся, а внутри все настройки для запуска программы.
Но Ubuntu - это попса, поэтому там не KDE.
JOHN_16
sovuschka
коль вы начали работать с Убунту (то бишь Linux) вам придется уяснить тот факт, что это не Windows. И работать в данном типе ОС надо иначе.
sovuschka
ярлык
там нету ярлык, вместо них система ссылок, мягких и жестких, создаются командой ln.
Запуск по двойному щелчку это вообще отдельный вопрос, и он относится не к ОС, а к файловым менеджерам. Dolphin умеет, Nautilus по умолчанию нет - для него нужно в параметрах включать ПОведение для исполняемых текстовых файлов. PCManFM предлагает действия на выбор, включая и запуск программы.
НО, есть одно весомое но. Как сказал вам ранее terabayt нужно в начале файла указывать что данный текстовой файл может быть исполнен как программа благодаря интерпретатору python, а не какому либо другому
terabayt
#!/usr/bin/python
и конечно же этот файл должен иметь возможность быть запущенным как программа - для этого, как вы уже знаете, есть система прав.
terabayt
а в теминале
chmod +x имя_программы.py

sovuschka
беда в том, что когда запускаю из под IDLE все работает, а вот из командной строки нет… хоть и разрешения задавал
chmod +x имя_программы.py
сразу переходило на след строку без какого либо ответа.. потом писал писал в строку
./w.py
и начиналось… ждет с минуту и потом выдает то того не найдет то скобка не там….
from: can't read /var/mail/PyQt5.QtWidgets
from: can't read /var/mail/PyQt5.QtCore
from: can't read /var/mail/PyQt5.QtGui
from: can't read /var/mail/PyQt5
./vid.py: строка 16: $'\r': команда не найдена
./vid.py: строка 17: ошибка синтаксиса около неожиданной лексемы `('
'/vid.py: строка 17: `class Example(QWidget):
alex@alex-machine:~/PROG$ chmod+xvid.py
chmod+xvid.py: команда не найдена
alex@alex-machine:~/PROG$ chmod +x vid.py
alex@alex-machine:~/PROG$ ld vid.py
vid.py: file not recognized: Формат файла не распознан
alex@alex-machine:~/PROG$ l

И что бы это значило???
JOHN_16
JOHN_16
terabayt
#!/usr/bin/python
вы вот это в начале файла записали? потому что все выглядит так будто bash начал исполнять вашу программу,а не Python.
Запустите в терминале python3 w.py или как там в убунте
py.user.next
JOHN_16
#!/usr/bin/python
Надо через env запускать (она ищет по всем путям в PATH), потому что питон может лежать где-нибудь в /usr/local/bin.

sovuschka
alex@alex-machine:~/PROG$ ld vid.py
А причём тут ld?

sovuschka
./vid.py: строка 16: $'\r': команда не найдена
Ты вот это всё проделай сначала.
Создай пустой файл, впиши туда и запусти. Вот увидишь окно - значит, всё работает.

А потом уже свою эту программу будешь запускать, которую ещё надо будет переделать через sed.
sovuschka
Ура заработало!!!! оказалось нцжно было создать из Python новый файл скопировать туда текст программы изменеием, как говорил py.user.next сохранить этот файл под каким то именем и потом применить к этому файлу разрешения на запуск. и только тогда у меня все стартовало из консоли!!!!!
т.е. файл созданный под Win Pyton3 работает под Ubuntu Pyton но как оказалось не совсем так как нужно хотя если запустить из IDLE Pyton то работает без шаманства…(окромя имен портов если они нужны как мне…)

А как сделать запуск по нажатию на какуюто кнопку, иконку… чтоб человек не искушенный мог просто тыркнуть и все?….
doza_and
sovuschka
чтоб человек не искушенный мог просто тыркнуть
Вам уже много раз повторили, под Ubuntu неискушенный человек будет не тыркать непонятно куда в неизвестно что а наберет ls. А искушенный человек тем более в тырканьи не нуждается. Чтобы прочувствовать идеологию unix возьмите и отключите вообще мышку, поверьте, все работают без нее. Она нужна если только при рисовании картинок.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB