Выполнение заданий книги/курса на Windows

Я протестировала все задания и тесты на Windows 10 и написала какие есть нюансы.

Проверка выполнялась на “чистой” Windows. С WSL нюансы, которые описаны ниже, должны пропасть.

Напомню, что также есть подготовленные виртуалки на Debian, которые могут упростить работу, но иногда работать с виртуалкой не позволяют ресурсы или на хосте и так установлен Linux или возникли проблемы с установкой виртуалки. В этом случае можно работать на хосте с Linux или Windows. В книге и курсе все примеры на Linux, поэтому никаких уточнений нет, а вот на Windows есть некоторые нюансы и они перечислены ниже.

Все проверки проводились на последних версиях всех сторонних модулей.

Установка Python 3.7

Скачать и установить Python 3.7. Обязательно поставить галочку “Add Python 3.7 to PATH”.

После установки проверить:

python --version

Вывод должен быть: Python 3.7.7

Если вы не будете использовать редактор Mu, можно установить и 3.8, но прежде лучше посмостреть на Mu. Для базовых тем, которые рассматриваются в курсе, изменений в 3.8 практически нет, поэтому можно спокойно использовать Python 3.7.

Альтернативный вариант командной строки

Так как на курсе мы работаем с git, очень рекомендуется поставить Cmder. Для этого надо выбрать “Download Full”.

После установки Cmder в нем сразу доступен git и надо разобраться как он работает и настроить его для работы с Github.

При желании, можно выполнить дополнительные настройки

Установка Mu

Единственный нюанс с установкой Mu на windows - это то, что его лучше установить через pip, чтобы модули, которые установлены в pip были видны. То есть, установить надо так:

pip install mu-editor

А не через установщик Windows.

Остальные настройки аналогичны на Windows и Linux

Нюансы выполнения заданий

Модуль pexpect не работает на Windows и так как он не нужен для выполнения заданий, это влияет только на то, что не получится повторить примеры из лекции.

Все остальные модули работают, но с некоторыми есть нюансы.

graphviz

Для выполнения заданий в 11 и 17 разделе будет нужен graphviz.

Нужно установить модуль Python:

pip install graphviz

И приложение graphviz

После установки надо добавить graphviz в PATH

csv

При работе с csv на Windows всегда надо указывать newline="" при открытии файла:

    with open(output, "w", newline="") as dest:
        writer = csv.writer(dest)

textfsm

Часть модулей, которые использует textfsm, не доступны для Windows. И в то же время, они не нужны для нашего использования textfsm. Чтобы textfsm коректно работал на Windows надо закоментировать в файле terminal.py в каталоге textfsm некоторые строки.

Как найти каталог textfsm:

Сначала смотрим где находится каталог site-packages (вывод сокращен):

In [2]: import sys

In [3]: sys.path
Out[3]:
 '...appdata\\local\\programs\\python\\python37\\lib\\site-packages',

Затем переходим в этот каталог и внутри него ищем каталог textfsm. В каталоге textfsm открываем файл terminal.py и комментируем строки таким образом:

# import fcntl
import getopt
import os
import re
import struct
import sys
# import termios
import time
# import tty

После этого код с использованием textfsm должен работать на Windows.