Мои файлы Python открываются в gedit вместо Python

Мои файлы Python открываются в gedit вместо Python

Мои файлы Python открываются вgeditвместо Python. Есть ли способ это исправить?

Я пробовал разрешить им выполнение в настройках свойств, но это не сработало. Я могу открыть их в терминале, но не "обычным" способом.

решение1

Это можно интерпретировать двумя способами: вы не указываете, хотите ли вы, чтобы скрипт запускался интерпретатором Python или чтобы он открывался в IDLE.


1. Вы хотите выполнить скрипт.

Хотя мы не можем выполнить скрипт непосредственно из Nautilus, мыможетсоздайте файл .desktop, который запустит скрипт для вас. Просто откройте gedit, nano или любой другой редактор, который вам нужен, и введите следующее:

[Desktop Entry]
Type=Application
Exec=python /path/to/your/code.py
Icon=/path/to/icon # not necessary, just for looks
Name=Name of your script
Terminal=true # Tells the system to open it in a terminal

Сохраните это где-нибудь. Вы можете сохранить это где угодно, но если вы хотите, чтобы это было доступно/запускалось из панели, вам нужно будет сохранить это в ~/.local/share/applications/.


2. Вы хотите открыть скрипт в IDLE

Насколько я могу судить, вы не можете открыть скрипт Python напрямую в IDLE. Странно, я знаю. Конечно, я не так уж часто использую IDLE (если вообще использую), так что это может быть просто настройка моей системы.

Однако вы можете создать еще один файл .desktop, который будет запускать IDLE с вашим скриптом.

[Desktop Entry]
Type=Application
Exec=idle-python3.4 /path/to/your/code.py
Icon=/path/to/icon # not necessary, just for looks
Name=Name of your script

Вы заметите, что команда idle-python3.4. Этот ответпредполагаявы используете Ubuntu 14.04 (установка Python 3 по умолчанию — 3.4). Однако, если у вас есть или вы используете другую версию, вам нужно будет изменить эту строку, чтобы она стала правильной командой для вашей версии IDLE.

Вы также заметите, что мы опустили Terminal=trueстроку во второй раз. Это потому, что IDLE не нужно запускать из терминала.

Связанный контент