Для начала поставь себе линукс. Там КПД занятия программированием гораздо выше. Сначала ставишь на виртуалку, чтобы понять, что ты можешь её настраивать и пользоваться, потом ставишь второй системой, так как виртуалка не имеет доступа ко всем ресурсам компа. Винда не только не нужна для работы линукс, но и растрачивает ресурсы железа впустую, тогда как в линуксе всё оптимизировано и железо используется минимально, только когда необходимо. Это слышно по работе жёсткого диска и кулера на процессоре. В винде всё трещит и гремит, в лине - тишина.
Mick_20
С консолью почти не дружу и окружение поставить не осилил.
Ты не дружишь с виндовой консолью. В лине консоль развита раз в десять больше. Там не только больше программ, более развитых по своему функционалу, но и сама консоль развита и удобна в использовании. Просто юниксовая консоль начала своё развитие в 70-х годах и кроме неё не было ничего. Линукс унаследовал все консольные наработки. Поэтому в лине консоль удобна в использовании - ей много лет и она была основным и единственным средством взаимодействия с операционной системой.
Также в лине есть ряд программ, которых в винде либо нет, либо они ставятся через эмулятор. Причём эти программы сейчас широко используются. Git, Docker, grep, sed, awk - примеры.
Mick_20
Хватит ли мне фреймворка Django для создания сайтов средней сложности
Можешь и Flask использовать. Он вообще простой, но при этом и мощный. Сервис с хранилищем на нём делается быстро и кода мало надо. Django тебе придётся долго изучать, а выхлоп будет практически такой же.
Mick_20
1) Почему файлы *.py не могут просто выполняться на сервере Open Server или Xampp?
Ты мыслишь совсем не теми понятиями. Сейчас принято делать Docker-контейнер, в котором установлен сервис (интерпретатор, зависимости и само web-приложение) и этот контейнер передавать на сервер, который этот образ запускает в Docker'е у себя.
Тот же хостинг Heroku Docker-контейнеры сам создаёт. Ты ему скрипт даёшь, настройки для запуска скрипта - он создаёт контейнер, устанавливает в контейнер питон, ставит к нему зависимости (систему управления базами данных, например), твой скрипт туда копирует и потом этот контейнер запускает у себя. Так получается полностью изолированная среда. Поэтому все приложения на Heroku не имеют доступа друг к другу, так как у каждого приложения как бы своя операционная система и все программы в ней. На самом деле это не полноценная операционная система, а такой записанный кусок операционной системы, наложенный на базовую операционную систему.
https://devcenter.heroku.com/http://flask.pocoo.org/https://www.jetbrains.com/pycharm/https://docs.docker.com/