Ярлык для *.pyw (python)
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод
inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
Автор темы - Сообщения: 490
- Зарегистрирован: 16 окт 2017, 21:32
- Решено: 2
- Благодарил (а): 193 раза
- Поблагодарили: 36 раз
- Контактная информация:
Ярлык для *.pyw (python)
Linux Mint XFCE 18.3
Хочу сделать ярлык для питоновского файла с расширением .*pyw (можно и .*py).
Нажимаю на "Создать значёк запуска".
Вписываю имя ярлыка.
Команда: 'python3 ~/Документы/Питон/Timer.pyw'
Рабочий каталог: '~/Документы/Питон'
Ставлю галочку "Запускать в терминале".
И ничего не работает, только мелькает окно терминала (открылось и сразу закрылось).
Хочу сделать ярлык для питоновского файла с расширением .*pyw (можно и .*py).
Нажимаю на "Создать значёк запуска".
Вписываю имя ярлыка.
Команда: 'python3 ~/Документы/Питон/Timer.pyw'
Рабочий каталог: '~/Документы/Питон'
Ставлю галочку "Запускать в терминале".
И ничего не работает, только мелькает окно терминала (открылось и сразу закрылось).
Linux - это свобода...
Текущая:
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3010 раз
- Контактная информация:
Ярлык для *.pyw (python)
Попробуй вызывать сам терминал с выполнением команды уже там.
Что-то вроде
xfce4-terminal -H -e python3 ~/Документы/Питон/Timer.pyw
-
- Сообщения: 35
- Зарегистрирован: 29 дек 2017, 07:15
- Откуда: Чертково Ростовская обл
- Благодарил (а): 11 раз
- Поблагодарили: 3 раза
- Контактная информация:
Ярлык для *.pyw (python)
Что происходит, если вы запускаете этот скрипт вручную в терминале? Похоже, что скрипт закончил свою работу и терминал закрылся.
Алексей. LM 18.3 Cinnamon
А ты помог Linux Mint ?
А ты помог Linux Mint ?
-
Автор темы - Сообщения: 490
- Зарегистрирован: 16 окт 2017, 21:32
- Решено: 2
- Благодарил (а): 193 раза
- Поблагодарили: 36 раз
- Контактная информация:
Ярлык для *.pyw (python)
Попробовал. Результат тот же.
Если запускаю скрипт в терминале вручную, то он запускается.
Есть ещё странный момент. Это уже другой файл питона. Там есть строчка:
sss = open('res/dark.stylesheet', 'r')
Если я запускаю файл через IDLE, то всё работает, как задумано. А вот при запуске через терминал вылезает ошибка, что нет такого файла:
FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'res/dark.stylesheet'
Почему так происходит? Эта ошибка и в XFCE и в KDE.
Linux - это свобода...
Текущая:
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
-
- Сообщения: 35
- Зарегистрирован: 29 дек 2017, 07:15
- Откуда: Чертково Ростовская обл
- Благодарил (а): 11 раз
- Поблагодарили: 3 раза
- Контактная информация:
Ярлык для *.pyw (python)
Ни XFCE, ни KDE тут ни при чем. Если питон сообщает, что такого файла нет - значит его и правда нет по пути res/dark.stylesheet относительно самого скрипта.
А ну ка скопируйте вывод этих команд:
Код: Выделить всё
cd путь/до/скрипта
ls
ls res/
Алексей. LM 18.3 Cinnamon
А ты помог Linux Mint ?
А ты помог Linux Mint ?
-
- Сообщения: 35
- Зарегистрирован: 29 дек 2017, 07:15
- Откуда: Чертково Ростовская обл
- Благодарил (а): 11 раз
- Поблагодарили: 3 раза
- Контактная информация:
Ярлык для *.pyw (python)
Понятно, что он запускается, что он делает?
Алексей. LM 18.3 Cinnamon
А ты помог Linux Mint ?
А ты помог Linux Mint ?
-
Автор темы - Сообщения: 490
- Зарегистрирован: 16 окт 2017, 21:32
- Решено: 2
- Благодарил (а): 193 раза
- Поблагодарили: 36 раз
- Контактная информация:
Ярлык для *.pyw (python)
Я имел ввиду, что проблема есть на двух машинах с разными оболочками (здесь главное, что не на одном пк).PantiL писал(а): ↑03 янв 2018, 17:20Ни XFCE, ни KDE тут ни при чем.
Код: Выделить всё
name@S ~ $ cd ~/Документы/Питон/
name@S ~/Документы/Питон $ ls
res Timer.pyw
name@S ~/Документы/Питон $ ls res/
dark.stylesheet
name@S ~/Документы/Питон $
А вот полный отчёт об ошибке в терминале:
Код: Выделить всё
name@S ~ $ python3 ~/Документы/Питон/Timer.pyw
Traceback (most recent call last):
File "/home/name/Документы/Питон/Timer.pyw", line 82, in <module>
window = Window()
File "/home/name/Документы/Питон/Timer.pyw", line 37, in __init__
sss = open('res/dark.stylesheet', 'r')
FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'res/dark.stylesheet'
Linux - это свобода...
Текущая:
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
-
- Сообщения: 35
- Зарегистрирован: 29 дек 2017, 07:15
- Откуда: Чертково Ростовская обл
- Благодарил (а): 11 раз
- Поблагодарили: 3 раза
- Контактная информация:
Ярлык для *.pyw (python)
Странно конечно. Но ладно, тогда подредактируй скрипт вот так:
В начало файла добавь если там такого нет
потом, в том месте где написаны строки открывающие файл :
В начало файла добавь если там такого нет
Код: Выделить всё
import os
Код: Выделить всё
path_to_script = os.path.dirname(os.path.abspath(__file__))
path_to_file = os.path.join(path_to_script, 'res/dark.stylesheet')
sss = open(path_to_file, 'r')
Алексей. LM 18.3 Cinnamon
А ты помог Linux Mint ?
А ты помог Linux Mint ?
-
Автор темы - Сообщения: 490
- Зарегистрирован: 16 окт 2017, 21:32
- Решено: 2
- Благодарил (а): 193 раза
- Поблагодарили: 36 раз
- Контактная информация:
Ярлык для *.pyw (python)
Да, так работает )).
На другом форуме мне подсказали вот такое решение в терминале:
cd ~/Документы/Питон; python3 Timer.pyw
Тоже работает.
На другом форуме мне подсказали вот такое решение в терминале:
cd ~/Документы/Питон; python3 Timer.pyw
Тоже работает.
Linux - это свобода...
Текущая:
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
-
- Сообщения: 34
- Зарегистрирован: 09 ноя 2017, 10:21
- Благодарил (а): 5 раз
- Поблагодарили: 6 раз
- Контактная информация:
Ярлык для *.pyw (python)
Либо ещё прописать полный путь тут:
sss = open('res/dark.stylesheet', 'r') -> sss = open('~/Документы/Питон/res/dark.stylesheet', 'r')
Суть в том, что питон стартует из его родной директории, а не из директории скрипта. и Ваш относительный путь не находится.
sss = open('res/dark.stylesheet', 'r') -> sss = open('~/Документы/Питон/res/dark.stylesheet', 'r')
Суть в том, что питон стартует из его родной директории, а не из директории скрипта. и Ваш относительный путь не находится.
-
- Сообщения: 35
- Зарегистрирован: 29 дек 2017, 07:15
- Откуда: Чертково Ростовская обл
- Благодарил (а): 11 раз
- Поблагодарили: 3 раза
- Контактная информация:
Ярлык для *.pyw (python)
С моим решением будет работать, неважно откуда запускать скрипт.
В моем решении именно это и сделано, только полный путь вычисляется динамически, неважно где будет располагаться скрипт.
Алексей. LM 18.3 Cinnamon
А ты помог Linux Mint ?
А ты помог Linux Mint ?
-
Автор темы - Сообщения: 490
- Зарегистрирован: 16 окт 2017, 21:32
- Решено: 2
- Благодарил (а): 193 раза
- Поблагодарили: 36 раз
- Контактная информация:
Ярлык для *.pyw (python)
Вопрос по поводу первого сообщения открыт.
Linux - это свобода...
Текущая:
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
-
- Сообщения: 34
- Зарегистрирован: 09 ноя 2017, 10:21
- Благодарил (а): 5 раз
- Поблагодарили: 6 раз
- Контактная информация:
Ярлык для *.pyw (python)
Не спорю, я не особо питонист, но тут сразу бросается в глаза относительность пути.
2Kurum,
А первый вопрос - это какой? Чтоб окно терминала не закрывалось после выполнения? Если да, то поищите инфу как зафризить его, для баша (если его как обёртку используете) есть команда 'pause'. Если у Вас чисто питон, то явно что-то тоже имеется, вот например raw_input()/input() советуют
-
Автор темы - Сообщения: 490
- Зарегистрирован: 16 окт 2017, 21:32
- Решено: 2
- Благодарил (а): 193 раза
- Поблагодарили: 36 раз
- Контактная информация:
Ярлык для *.pyw (python)
Первый вопрос - это "как правильно сделать ярлык для запуска файла питона?".
Теперь у меня получилось.
В сам файл надо было добавить строчку:
Причём не python3, а просто python.
И отключить галку "запускать в терминале" - ну это, конечно, кому что надо. У меня GUI-интерфейс, так что мне терминал не нужен.
Теперь у меня получилось.
В сам файл надо было добавить строчку:
#!/usr/bin/env python
Причём не python3, а просто python.
И отключить галку "запускать в терминале" - ну это, конечно, кому что надо. У меня GUI-интерфейс, так что мне терминал не нужен.
Linux - это свобода...
Текущая:
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
KDE Neon 5.2x
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ
-
- Сообщения: 35
- Зарегистрирован: 29 дек 2017, 07:15
- Откуда: Чертково Ростовская обл
- Благодарил (а): 11 раз
- Поблагодарили: 3 раза
- Контактная информация:
Ярлык для *.pyw (python)
Ну это смотря какая версия питона тебе нужна. По-умолчанию сейчас команда python соответствует версии Python 2.7.12 (ну у меня так в 18.3) Если же для выполнения скрипта нужна версия 3.* то тогда команда должна быть python3
Алексей. LM 18.3 Cinnamon
А ты помог Linux Mint ?
А ты помог Linux Mint ?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей