MyTetra Share
Делитесь знаниями!
Использование Sublime Text Editor 2 в качестве редактора текста Python 3.x
Время создания: 29.07.2019 23:51
Текстовые метки: Sublime
Раздел: Разные закладки - Python - IDE - Sublime
Запись: xintrea/mytetra_db_adgaver_new/master/base/1483630285rkjpfus7vv/text.html на raw.githubusercontent.com

Пилите, Шура, пилите

Разобравшись с 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 (в плане настроек), но агрегат весьма полезный.

 
MyTetra Share v.0.65
Яндекс индекс цитирования