Найти - Пользователи
Полная версия: Терминал линукс не видит подключаемый файл, а Shell видит
Начало » Python для новичков » Терминал линукс не видит подключаемый файл, а Shell видит
1
Kyrym
У меня в коде есть строка:
 sss = open('res/dark.stylesheet', 'r')
Всё прекрасно работает через Shell на виндовс и линукс минт, однако, если запускать программу через терминал линукса, то появляется ошибка, что файл не найден:
 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
Если через терминал проверить наличие файла “dark.stylesheet”, то он вроде как есть:
name@S ~ $ cd ~/Документы/Питон/
name@S ~/Документы/Питон $ ls
res Timer.pyw
name@S ~/Документы/Питон $ ls res/
dark.stylesheet
name@S ~/Документы/Питон $

Может надо прописывать путь через os.path? Или в чём дело?
py.user.next
Kyrym
то появляется ошибка, что файл не найден
Он ищет в текущем каталоге.

Используй временный переход
name@S ~ $ (cd ~/Документы/Питон; python3 Timer.pyw)

И что там расширение pyw делает? Это же только для винды применяется, чтобы консоль не выскакивала.
Kyrym
py.user.next
Используй временный переход
Ура! Работает.
py.user.next
И что там расширение pyw делает? Это же только для винды применяется, чтобы консоль не выскакивала.
Дело в том, что мне нравится идея запускать py в IDLE, чтобы писать код, а pyw, чтобы непосредственно запускать программу двойным кликом. Это удобно. Так было в виндовс, а в линуксе, я пока так и не разобрался, как это осуществить. В оболочке KDE почти получилось, но начинались другие проблемы…
py.user.next
Kyrym
а pyw, чтобы непосредственно запускать программу двойным кликом
В лине нет никакого pyw, это только в винде сделано. В лине можно вообще расширения не ставить никакого. Делают .py только для того, чтобы текстовые редакторы подсвечивали код правильно.

Kyrym
В оболочке KDE почти получилось, но начинались другие проблемы…
В KDE ты делаешь файл program.desktop или ссылку на программу, а потом добавляешь её в меню (пуск типа), либо как значок на рабочий стол или панель на крае экрана.

Короче, не надо виндовые знания применять к линю. В лине всё совсем по-другому работает и гораздо лучше и гибче, чем в винде.
Kyrym
py.user.next
В KDE ты делаешь файл program.desktop или ссылку на программу
Нет, я тогда игрался с назначением программы по умолчанию:
Запуск двойным кликом *.pyw
Зайти в свойства файла. Вк (вкладка) «Основные» - «Параметры типа файла» - Вк «Общие». Меняем описание на «python3» - для себя. В «Приоритет приложений» - Кн (кнопка) «Добавить» - прописать
console-kit-daemon. В списке приоритетов приложений появится новая запись, выделяем её, далее «Правка» - Вк «Приложение». Прописываем команду: «/usr/bin/python3 %f». Закрываем все окна. Теперь расширение pyw открывается двойным кликом.
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