Ошибка - UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: inval id character

Ощибка: UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: inval id character

Происходит при попытке запустить проект командой: python manage.py runserver

Лечение:

Ищем файл: python\lib\site-packages\django\utils\autoreload.py

Затем добавляем в функцию restart_with_reloader строчку:
new_environ['PATH'] = os.path.abspath(new_environ['PATH'].encode('ascii', 'replace'))


Должно получиться как-то так:
def restart_with_reloader():
    while True:
        args = [sys.executable] + ['-W%s' % o for o in sys.warnoptions] + sys.argv
        if sys.platform == "win32":
            args = ['"%s"' % arg for arg in args]
        new_environ = os.environ.copy()
        new_environ["RUN_MAIN"] = 'true'
        new_environ['PATH'] = os.path.abspath(new_environ['PATH'].encode('ascii', 'replace'))
        exit_code = os.spawnve(os.P_WAIT, sys.executable, args, new_environ)
        if exit_code != 3:
            return exit_code


После этих изменений, лично у меня всё заработало, Python 3.4 + Windows 10.

Надеюсь и у вас всё получится.

Установка Pillow на Python 3 под Windows

Ниже приведен рабочий пример (у меня сработало на версиях 3.5 и 3.4) установки модуля Pillow.

Для установки нам понадобится Python версии 3.5 или 3.4 (на версии 3.6 на сегодняшний день 28.12.2016 — не работает)
Скачиваем, устанавливаем — в этом я думаю трудностей не возникнет.

Далее, устанавливать модуль будем с помощью PIP, но…

Далее всё действие происходит в командной строке:

Для начала выполним вот эту команду:
python -m pip install --upgrade pip wheel setuptools

(без нее, ну никак не «заведётся»)

Затем всё просто:
pip3 install pillow


Вот и всё!

Настраиваем кодировки в Visual Studio для Python

Вообщем ситуация такая. Решил я поизучать Python. Посмотрел разные среды разработки, и решил остановиться на уже знакомой и уютненькой Visual Studio, тем более, что по работе в основном на C# писать приходится, установлена, удобная, привычная. Короче приступил к написанию своего первого Hello World-а.

Написал вот такое:
name = input ('Введите слово: ')
print ('Ваше слово ', name)


И вместо русских букв в консоли увидел кракозябры. :(

Покопав немного «интернеты», нашёл рекомендацию указывать кодировку в начале файла так:
# -*- condig: utf-8 -*-


Сделал, не помогло… :(
Стал копать дальше.
Студия фалы сохраняет по умолчанию в кодировке Win1251 — ага!!! подумал я!!!
Правим:
File -> Advanced Save Options
Меню File Advanced Save Options

Это действие уже помогло, но лишь частично. По команде print русский текст стал выводиться корректно. А вот текст в команде input остался кракозябрами.

Но и этой проблеме решение есть:
Tools -> Options -> Pyton Tools -> Debugging
Tools Options Python Tools Debugging
Убираем галочку «Tee program output to Debug Output window»

После этого действия всё работает корректно, буквы русские во всех случаях.
Мне помогло, надеюсь и вам поможет.

Oracle - функция вычисления контрольного разряда EAN-13

Функция для вычисления контрольного разряда штрихкода EAN13 по первым двенадцати цифрам.
На входе подаем строку (12-значное число).
На выходе получаем цифру контрольного разряда.
function GetControlNumber(p_code varchar2) return number
  is
   v_chet number;
   v_nechet number;
   v_itog number;
   v_res number;
  begin
     
     v_chet := to_number(substr(p_code,2,1))+to_number(substr(p_code,4,1))+to_number(substr(p_code,6,1))+to_number(substr(p_code,8,1))+to_number(substr(p_code,10,1))+to_number(substr(p_code,12,1));
     v_nechet := to_number(substr(p_code,1,1))+to_number(substr(p_code,3,1))+to_number(substr(p_code,5,1))+to_number(substr(p_code,7,1))+to_number(substr(p_code,9,1))+to_number(substr(p_code,11,1));
     v_itog := mod(((v_chet*3)+v_nechet),10);

     if v_itog>0 then 
       v_itog := 10 -v_itog;
     end if; 
     v_res:=v_itog;
     
   return v_res;
  end;


Пользуйтесь на здоровье.

Про алгоритм вычисления контрольного разряда можно прочитать здесь.

Oracle - Фичи и полезности (Часть №1)

Здесь буду выкладывать всякие полезные мелочи и запросы, которые могут пригодиться с их описанием.

1. Получаем список всех полей интересующей нас таблицы.
select  column_name 
  from user_tab_columns 
  where upper(table_name) = upper('название_таблицы')


2. Меняем формат даты по умолчанию в сессии.
alter session set NLS_DATE_FORMAT = 'dd.mm.yyyy hh24:mi:ss';
— Пока сессия не закрыта, будет действовать установленный таким образом формат.

Читать дальше →

Интервью Крисса Карри в котором он рассказывает о Клайве Синклере, компании Синклер Радионикс и Акорн Компьютерс (на Английском)

Опять вспомнил детство, у дядечьки ещё всё интервью за спиной такие олдскульные компьютеры стоят. Погружают в ностальгические чувства.


Приятного просмотра.

Oracle - Функции RANK() и DENSE_RANK() (Или учимся выбирать необходимые значения внутри множественной выборки)

Начнем с функции RANK(). С объяснения для чего она и в каких случаях она нам может пригодиться.

Функция RANK() — это очень полезная функция, она позволяет нам пронумеровать набор по некоторому группирующему значению внутри всего выбранного набора данных. Проще всего показать это на примере. Для этого создадим небольшую таблицу:
ID	PERSON	DT			SM

1	Роман	01.10.2016 11:51:31	545.3
2	Роман	01.10.2016 11:51:31	445.2
3	Роман	01.10.2016 11:51:31	145.3
4	Кирил	01.05.2016 16:51:31	99.5
5	Алена	01.07.2016 12:51:31	445.3
6	Роман	01.12.2016 16:51:31	876.1
7	Кирил	01.06.2016 16:51:31	237.22
8	Алена	01.12.2016 16:51:31	145.3
9	Алена	01.02.2016 14:51:31	534.7
10	Роман	01.03.2016 16:51:31	165.3
11	Кирил	01.04.2016 16:51:31	345.2


Пусть в этой таблице будет содержать некоторые выставленные счета разным пользователям PERSON на разные суммы SM в разное время DT.

Читать дальше →

Micro Men (художественный фильм на английском)

Очень интересный полнометражный фильм, про то как создавался всеми любимый на пост Советском пространстве компютер ZX Spectrum. Очень рекомендую фильм, хотя он и на Английском. Кино про то как создавался мой первый компьютер.



Приятного просмотра.

Интересно рассказывает о том, как стал программистом.

Очень интересно рассказывает как стал программистом, случайно наткнулся и досмотрел до конца.
Особенно будет полезно видео начинающим и студентам первого курса.


Приятного просмотра.

Полезные мелочи при администрировании и работе с Oracle

Здесь буду публиковать полезные мелочи для БД Oracle, которые пригождаются в быту.

Узнаем все пути к каталогам Oracle
SELECT * FROM V$DIAG_INFO


Узнаем версию сервера Oracle
SELECT * FROM V$VERSION