Проблем със Sublime

  1. Здравейте! Сложих си Sublime Text 2 и имам малък проблем - не ми зачита кирилицата, дава ми грешка свързана с utf-8. Ако сменя кирилицата с латиница грешката изчезва. Искам да попитам как да отстраня този проблем? Мерси предварително :)

  2. В Sublime Text цъкаш горе Preferences/Browse packages, избираш Python и отваряш файла Python.sublime-build. Предполагам си с Windows, следователно добавяш накрая "encoding": "cp1251". Ето ти примерна снимка: http://postimage.org/image/68xbgv5sd/

    А ето тук има всички кодирания: http://docs.python.org/2/library/codecs.html#standard-encodings

  3. cp1251!? Този енкодинг не го ли забраниха със закон вече?

    Ния, направи си encoding-а да е utf8. Не използвам Sublime, но подозирам, че ако гърми ти изпълнява/проверява кода с Python 2.x. Укажи му изрично да е с Python 3.x и би следвало да се оправи.

    Мартине, даваш линкове към документацията на Python 2.x.

  4. Навярно ползваш sublime-text 2. Това което горе Кирил е написал за utf8 си го направи да, но както и става ясно от коментара му не е пряко свързано с твоя проблем (предполагам).

    Когато build-ваш .py файл в sublime (ctrl+b) става така, че sublime-text 2, build-ва наистина с Python 2.x. Трябва да направиш така, че да buld-ваш с Python 3.x

    Това което аз съм направил е:

    Отиваш на Tools -> Build System и там предполагам ти е на Automatic. Дай New Build System и напиши следното:

    
    {
      "cmd": ["[ТУК-ТУК]", "-u", "$file"],
      "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
      "selector": "source.python"
    }
    

    Където [ТУК-ТУК] го заместваш с командата в която от терминала/cmd-то отваряш python3.3. И save-аш там в директория, в която ще ти даде да save-аш.

    След това селектираш от Tools -> Build System -> новосъздадената от теб. И всичко трябва да потръгне.

    П.П. Иначе ако решиш да пишеш на друг език в Sublime след това, гледай да не забравиш да си смениш обратно на Automatic.

  5. Енкодинга там наистина трябва да е cp1251. При build върху windows явно python изкарва stdout нещата в друг енкодинг (не utf-8). За това като пусна build-a с CTRL+B и там където има кирилица пише "[Decode error - output not utf-8]". Като му се каже да чете в cp1251 работи.

    Версията при мен е 3.3 и нямам друга, с която да се опитва да го билдва. (Изхода от print(sys.version) e "3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600 32 bit (Intel)]")

  6. Георги, Sublime идва с bundle-нат python 2.6. Така ще е до излизането на Sublime 3, който е все още в бета.

    Ако решението с cp1251 ви върши работа, ползвайте го. Но много внимавайте с каква версия реално билдва. Всичко различно от 3.3.x не ви устройва.

  7. Явно Sublime набира популярност из дебрите на курса. На последното събиране ви казахме колко важно е да станете нинджи с кадърен редактор. За тези, които са избрали Sublime, един полезен линк, който ще им помогне да го мастърнат по-бързо:

    https://tutsplus.com/course/improve-workflow-in-sublime-text-2/

  8. Не съм на мнение, че трябва да се затормозяват хората да изучават нови редактори. Т.е. хубаво е да работят на кадърен редактор, но на който им е удобен. Аз лично мога да използвам vim, който наистина е много добър, но предпочитам gedit.

  9. Колкото до sublime ... Някой ще ми каже ли как мога да run-на текущия файл и да се отвори shell в който да си тествам кода ... без да пиша безумни принтове. Т.е. ако save-на и отварям през терминал пиша "python3 -i test.py" ... Та има ли как същото да стане, само че без да отварям терминал, а директно през sublime

  10. Ако правилно разбирам въпроса ти, отваряш Shell-a и отиваш на: File -> Open и си отваряш .py файла, отваря се нов прозорец, където се показва кода ти, след това му даваш Run и то се изпълнява в Shell-a. :)

  11. Съжалявам, че не дадох по-подробно описание за SublimeREPL! :) Значи, първо трябва да си инсталираш Package Control, ако го нямаш, което става по следния начин:

    1) отваряш Sublime и докато си там натискаш ctrl и ` и някъде долу в редактора ти се отваря една конзола

    2) там копираш следното:

    import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print('Please restart Sublime Text to finish installation')

    което ще ти инсталира Package Controll

    3) след това в preferences от менютата ще ти се появи package controll

    4)от там избираш install package и SublimeREPL

    5)после можеш да си стартираш SublimeREPL от Tools->SublimeREPL->Python

    6) oтваря ти се нов прозорец, който ти стартира конзолата и за да си преместиш там твоя код Tools->SublimeREPL->Transfer to REPL

    7) ако вместо Transfer to REPL му дадеш Eval in REPL просто ще има ефекта на print-овете и ще ти изпълни main-a, което по-лесно може да стане само при натискане на ctrl+b

Трябва да сте влезли в системата, за да може да отговаряте на теми.