Использование Sublime Text Editor 2 в качестве редактора текста Python 3.x
Rate this Entry
3 Comments
by
Prosper-H on 11-07-2012 at 21:51 (21606 Views)
Пилите, Шура, пилите
Разобравшись с PYTHONPATH & Encoding Output я уже было хотел продолжить писать один свой проектик, как всплыл очередной косяк, причем весьма досадный. При попытке заюзать функцию "input()" вылазит следующая ошибка "EOFError: EOF when reading a line". Например, написав следующий код:
Code:
print(input("Please enter your name: "))
И попытавшись прогнать его через интерпретатор из под Sublime, вы получите следующую ошибку (дословно):
Code:
Please enter your name: Traceback (most recent call last):
[Finished in 0.3s with exit code 1] File "C:\Documents and Settings\AdminPanel\Desktop\texttest.py", line 1, in <module>
print(input("Please enter your name: "))
EOFError: EOF when reading a line
Как бы там ни было обидно, но Sublime Tex Editor без костылей нормально не заводится.
В общем, проблема решается так:
- Качаем этот файл;
- Идем в "Preferences => Browse Packages…";
- Поднимаемся на один уровень в вверх, т.е. выходим из папки "PATH\Sublime Text 2\Packages" в папку "PATH\Sublime Text 2\";
- Затем переходим в папку "PATH\Sublime Text 2\Installed Packages" и копируем туда загруженный файл "Package Control.sublime-package";
- После чего перегружаем Sublime Text 2;
- Далее идем в "Tools => Command Palette...";
- Ищем там "Package Control: Install Package";
- Далее клацаем на "Package Control: Install Package", после чего появится другое похожее окно;
- В появившемся окне ищем и клацаем на "SublimeREPL";
- После чего в меню "Tools" в самом низу должен появится пункт "SublimeREPL".
- На этом пол пути пройдено, можно выпить заслуженную чашечку чая/кофе ;)
Продолжаем работать напильником...
После того как мы установили "SublimeREPL" (для тех кто не понял, это плагин) мы снова сталкиваемся с PYTHONPATH & Encoding Output, но уже в исполнении "SublimeREPL". Плагин не подхватывает интересующие нас настройки Sublime =(
Решение проблемы PYTHONPATH:
- Идем в "Preferences => Package Setting => SublimeREPL => Setting - Default";
- Заменяем эту строку:
Code:
"default_extend_env": {},
На эту:
Code:
"default_extend_env": {"PYTHONPATH": "YOU_PATH"},
Где вместо YOU_PATHs - прописываем нужные вам пути.
Например, для Windows она может выглядеть так:
Code:
"default_extend_env": {"PYTHONPATH": "C:\\Dir0\\Dir1;C:\\Dir0\\Dir2"},
Решение проблемы с Encoding Output (подобной проблемой страдают многие программы написанные на Python 3.x, ввиду существенных изменений в поведении строк по сравнению с Python 2.x):
- Идем в "Preferences => Browse Packages…";
- Ищем папку "SublimeREPL" и переходим в нее;
- Далее идем в "config\Python" и открываем файл "Main.sublime-menu";
- Открыв "Main.sublime-menu" ищем строки:
Code:
"encoding": "utf8",
И заменяем в них utf8 на вашу кодировку. Например, под своей Windows я написал так:
Code:
"encoding": "cp1251",
В принципе, вы уже можете проверить работу этого плагина.
- Открываем какой-нибудь примитивный файл на Питоне;
- И вместо "Tools => Build" жмем "Tools => SublimeREPL => Python => Python - RUN current file";
- Должно работать.
Как вы наверное заметили, слишком напряжно компилить фай постоянным похождениями через "Tools => SublimeREPL => Python => Python - RUN current file".
Мне тоже это не понравилось, поэтому предлагаю решение и этой проблемы:
- Идем в "Preferences => Key Bindings User";
- Если вы не вписывали туда какие-то свои настройки, то просто копируем этот текст вместо стандартных "[]":
Code:
[
{ "keys": ["f7"], "command": "run_existing_window_command", "args":
{
"id": "repl_python_run",
"file": "config/Python/Main.sublime-menu"
}
}
]
- Теперь снова загружаем какой-нибудь Питоновский файл и вместо "Tools => SublimeREPL => Python => Python - RUN current file"жмякаем "F7".
- Если все было сделано правильно, файл будет успешно выполнен.
Успехов!
PS: Не для слабонервных однако этот Sublime (в плане настроек), но агрегат весьма полезный.