Нещодавно у одного із моїх студентів, якого я менторю, виникла проблема з інсталяцією розробницького середовища Python + Django на операційній системі Windows. Сам я вже давненько не використовував дану систему, адже вже років 7-8 використовую виключно Linux та Mac у своїй щоденній роботі. От і засіли разом, щоб це все налаштувати…
Зазвичай рекомендую студентам одразу пробувати працювати на Лінуксі (дистрибутив Ubuntu), адже Python, як опенсорсна мова, звичайно полюбляє більше оперсорс операційну систему. Проте, щоб занадто не навантажувати людину від самого початку і вивченням нових технологій, мов, фреймворків та ще й освоєнням іншої операційної системи, на перших порах таки можна пробувати ту операційну систему, якою уже студент користується.
Дане заняття зайняло цілу годину і в даній статті опишу детальну інструкцію як це все можна поставити на ОС Windows. А саме Windows 8 та Python 2.7.
Отже,
Підготовка
Перед початком рекомендую поставити собі PowerShell – покращену командну стрічку, яка надає значно кращі інструменти, ніж дефолтний Windows cmd.
Якщо ж поки що (бо надалі все одно прийдеться) не виникає великого бажання різко переходити в командну стрічку, тоді скористайтесь наприклад Windows Commander, який дозволить легше навігувати по вашій файловій системі, та дозволить запускати необхідні команди.
Інсталюємо Python 2.7
Цей крок один із найпростіших. Відкриваємо python.org, В розділі Downloads i на сторінці For Windows вибираємо останню версію інтерпретатора із серії 2. В момент написання даної статті маємо Python 2.7.8.
На даній сторінці в секції Downloads знаходимо версію Python саме для вашого комп’ютера (32 або 64 біт) Windows MSI Installer, скачуємо і запускаємо інсталятор.
Далі все дуже просто, як при інсталяції будь-якої іншої програми на Windows, Next, Next, Next, Agree і все.
Головне запам’ятати в яку папочку був заінсталений Python. У моєму випадку Python пішов у “C:\Python27“.
Щоб переконатись, що Python 2 (звертаю увагу, що в даній статті мова йде про Python 2-ї версії, а не 3-ї) правильно встановлено, можна у PowerShell запустити команду python і отримаєте запрошення до написання python коду. Якщо ж у відповідь отримали щось на зразок повідомлення про те, що не існує даної команди, тоді потрібно переглянути процес інсталяції пітона.
Інсталюємо Pip
Pip – це інсталятор пакетів для мови Python. Він прийшов на зміну setuptools (easy_install). Для того, щоб заінсталювати virtualenv i django спочатку маємо поставити pip.
Ось офіційна документація по інсталяції pip.
Ящо коротко, то запускаємо завантажуємо Пітон скрипт get-pip.py. При зберіганні переконайтесь, що зберегли файл із розширенням .py, а не .txt.
Далі у командій стрічці (краще PowerShell) запустіть даний файлик з допомогою Python інтерпретатора:
1 |
python \path\to\get-pip.py |
Після запуску даної команди маєте отримати повідомлення про успішну інсталяцію pip пакет менеджера. Інакше – потрібно розбиратись: або шлях до файла вказано не правильно, або Python не у видимих для командної стрічки шляхах.
Для остаточного тесту, що pip встановлено правильно просто запускаєте в командній стрічці (PowerShell) команду pip. Без аргументів дана команда видасть вам документацію по використанню.
Інсталюємо Virtualenv
Тепер маючи Python i Pip черга за virtualenv.
Virtualenv – це інструмент, який дозволяє налаштовувати безліч “копій” вашого заінстальованого Пітона, і працювати над кількома Python проектами одночасно не заважаючи один одному. Цей підхід дозволяє уникати конфілктів між заінстальованими пакетами та їхніми версіями. Наприклад, якщо вам потрібно в одному проектів використовувати Django 1.6, а в іншому 1.7.
Іншими словами можете уявити, що кожне віртуальне середовище це окрема папочка зі своїм набором налаштувань, які не заважають іншому такому ж віртуальному середовищу. Це як поставити на віндовсі програму лише для одного користувача, а інші користувачі мають свої власні набори програм.
Тепер маючи Pip можемо з легкістю однією командою встановити virtualenv пакет. В PowerShell в контесті будь-якої папки запускаєте наступну команду:
1 |
pip install virtualenv |
Результатом даної команди має бути повідомлення про успішну інсталяцію virtualenv у вашій командній стрічці.
Також тепер ви можете ввести команду virtualenv і вона видасть вам інструкцію по використанню.
Створюємо Віртуальне Середовище під свій проект
Ось ми і підійшли безпосередньо до підготовки до робочого середовища нашого django проекта, а саме створення віртуального середовища python для нашого конкретного django проекта.
Оберіть і створіть у себе на диску папку, в якій міститимете усі майбутні віртуальні середовища. У моєму випадку це “C:\virtenvs”:
1 2 |
cd "C:\" mkdir virtenvs |
Заходимо у щойно створену папку virtenvs і створюємо там нове віртуальне середовище для нашого проекту:
1 2 |
cd virtenvs virtualenv --no-site-packages django_project1 |
Я запустив команду virtualenv і сказав їй створити нове віртуальне середовище під назвою ‘django_project1’.
Якщо ви щасливчи, тоді дана команда закінчиться з повідомленням про успішне створення папочки з копією пітона, а також інсталяцією туди копії pip.
У моєму випадку на Windows 8 i Python 2.7, нажаль, так не сталося, і дана команда видала наступну помилку:
1 2 3 4 5 6 7 8 9 10 |
C:\>virtualenv venv Using base prefix 'C:\\Python334' New python executable in venv\Scripts\python.exe Installing setuptools, pip... Complete output from command C:\venv\Scripts\python.exe -c "import sys, pip; s ys...d\"] + sys.argv[1:]))" setuptools pip: Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'pip' ---------------------------------------- |
Тобто, папочка з віртуальним середовищем створилась, але на етапі інсталяції pip виникла помилка.
Ми провели близько 10 хвилин намагаючись з’ясувати чому той pip, що ми попередньо заінсталили, недоступний під час створення нового віртуального середовища, але нажаль, не змогли вирішити проблеми.
Окрім того з’ясували, що ця проблема не лише у нас. А також ті поради, що знайшли ніяк не працювали для нас.
Тому просто ще раз заінсталювали pip вже для новоствореного віртуального середовища. Для цього запустили попередньо завантажений ‘get-pip.py’ скрипт Пітон інтерпретатором з новоствореного віртуального середовища:
1 2 |
cd "C:\virtenvs\django_project1\Scripts\ .\python.exe \path\to\get-pip.py |
Таким чином отримали pip у нашому віртуальному середовищі. Дана команда повинна завершитись повідомленням про успішну інсталяцію pip.
Інсталюємо Django
На даний момент ми маємо:
- Python 2.7 заінстальований в “C:\Python27”
- pip i virtualenv пакети заінстальовані в Python2.7
- створене віртуальне середовище “C:\virtenv\django_project1” із вручну доісталльованим pip-ом
Залишилось заінсталювати Django фреймворк.
Одна команда в PowerShell все вирішить:
1 2 |
cd "C:\virtenv\django_project1 .\Scripts\pip install Django |
Після успішного завершення вище наведеної команди у папочці Scripts вашого віртуального середовища ви отримаєте новий скрипт django-admin. З його допомогою можна створити новий Django проект:
1 2 3 4 |
cd "C:\virtenv\django_project1 mkdir src cd src ..\Scripts\django-admin startproject myproject |
Тепер отримали myproject папочку всередині src директорії у віртуальному середовищі. Я зазвичай створюю піддиректорію src для власного коду, проекту, аплікацій.
Ну і на завершення – створимо базу даних і запустимо наш джанго проект:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
cd "C:\virtenv\django_project1\src\myproject # створюємо базу даних ..\Scripts\python manage.py syncdb # запускаємо розробницький сервер ..\Scripts\python manage.py runserver Validating models... 0 errors found September 09, 2014 - 10:42:46 Django version 1.5.1, using settings 'aikido_school.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. |
Бачимо, що все успішно запустилось і наш вебсайт доступний під адресою 127.0.0.1:8000:
Все. А далі – розробляємо свій власний код: налаштування, адреси, моделі, шаблони, в’юшки, верстка, дизайн. Не знаєте як? Тоді, пропоную ознайомитись із даною пропозицією:
***
Переконаний, що є кращий шлях інсталяції python i django на windows, тому, якщо ви краще спеціалізауєтесь у ОС Windows і розробляєте на мові Python у ньому – прокоментуйте і порадьте кращий варіант налаштування розробницького середовища.
Все заработало, просто manage.py у меня расположился в папке “myproject” а так же вместо syncdb надо было использовать migrate, а PowerShell кстати просто не работает, что угодно можно вводить и ничего не поменяется и не произойдет, так что использую стандартный cmd
Сделал все пошагово, но manage.py не хотел найтись, решил проблему рестатром и запуском пауершелл и теперь после ..\Scripts\python manage.py runserver, просто ничего не происходит…просто ввожу команду, но далее ничего не просиходит, а просто отводит новую строку и локалхост не работает…
Підправте код де # створюємо базу даних
..\Scripts\python manage.py syncdb
на ..\..\Scripts\python manage.py migrate
Дякую за виправлення, допомогло.
Виталий, большое спасибо за ответ. Если не затруднительно, подскажите пожалуйста, у меня уже установлен питон и ide (pycharm), учится планируют в данном ide. Как правильно тогда работать с виртуалом, ведь ide не в вертуале, создается проектно он ведь не будет уже в виртуале? Спасибо.
Значит нужно переустановит ide в виртуале? Запускать как тогда ide? Запутался немного.
Только начинаю изучать, спасибо за подробное объяснение.
У меня вопрос, вот если я буду устанавливать дополнения к питону или джанго, это надо тоже ставить через виртуал, или виртуал сам рабочие модули скопирует себе в рабочее окружение? Спасибо.
Після створення віртуального середовища інсталюєте все у віртуальне середовище.
А хіба не треба активовувати віртуальне середовище?
django_project1\Scripts\activate
Привіт, не встановлюється БД і відповідно не запускається Джанго. Ось така помилка:..\Scripts\python : The term ‘..\Scripts\python’ is not recognized as the name of a cmdlet, function, script file, or
operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
At line:1 char:1
+ ..\Scripts\python manage.py syncdb
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (..\Scripts\python:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
хоть трісни а джанго не встановлюється
cd “C:\virtenvs\django_project1
.\Scripts\pip install Django
а яка помилка? повний текст
помилки ніякої, просто нічого не відбувається, мигає курсор і все
переходить у режим інтерпретатора і все
нічим нажаль не допоможу. сам працюю і усім раджу на пітоні працювати за *nix-оїдами
На диво легко встановив (враховуючи, що перед цим 2 дня встановлював його на Ubuntu). Але при створенні бази та запуску пише “Помилка импорту. Немай модуля django.core.management” Не зміг скопіювати, не знаю як це робити в cmd.
таке враження що Django інсталяція не завершилась коректно
Розібрався сам. Забив два шляхи в PATH=C:\Python27;C:\Python27\Scripts; і все знаходить.
Вже остаточно зі всім розібрався.
1. pip i virtualenv система вже бачить.
2. Створив віртуальне середовище під свій проект: virtualenv –no-site-packages django_project1
3. Інсталював Django:
cd “C:\virtenvs\django_project1
.\Scripts\pip install Django
4. Створив свій Django проект:
cd “C:\virtenvs\django_project1
mkdir src
cd src
..\Scripts\django-admin startproject myproject
5. Створив базу даних:
Правда, підправив трошки другу команду:
cd “C:\virtenvs\django_project1\src\myproject
C:\virtenvs\django_project1\Scripts\python manage.py
6. Пробував запускати сервер:
C:\virtenvs\django_project1\Scripts\python manage.py runserver
Запускається і CONTROL-C зупиняється
Раніше отримав Ваш електронний підручник.
Приступив до вивчення матеріалу.
У мене Windows XP.
Вчора по Ваших вказівках
http://www.vitaliypodoba.com/2014/09/how-to-install-python2-pip-virtualenv-django-windows/
почав крок за кроком проходити процес встановлення системи.
1.Прставив PowerShell, хоча до того часу успішно працюва в
WindowsCommander i Far/
2.Закачав з з python.org свіжу версію Python 2.7.9 для Windows 32 i
заінсталював в папку “C:\Python27″
3. Однак ні з PowerShell чи з cmd по команді python не запускається.
Зумів запустити з WindowsCommander через python.exe, хоча в шляхах
системи він прописався. C:\Python27\Python.exe.
Ну напевно так має бути, адже в шляху прописаний exe файл.
4. Скачав інсталятор пакетів мови Python Pip, однак його не ставив,
бо виявилося, що цей інсталятор вже присутній у цій версії.
5. Інсталював Virtualenv. Виникали проблеми, бо команда для
інсталяції pip install virtualenv виконалась лише з папки, де
присутній pip, тобто з папки с:\Python27\Scripts.
Чи все правильно? Система в шлях не бачить pip.
Обидві програми pip i Virtualenv виконуються безпосередньо з цієї
папки.
6. Створив на диску с папку з майбутнім проектом с:\virtenvs.
Однак з цієї папки команда створення віртуального мередовища
virtualenv –no-site-packages django_project1 не виконується.
Мабуть хоче знову своєї папки с:\Python27\Scripts.
Чи все правильно я роблю?
На цьому зупинився.
Щось не подобається мені з шляхами…
Буду вдячний за відповідь.
Проще всего для разработки через pycharm, но недавно мне пришлось настраивать django для IIS под windows. Для этого я использовал репозиторий http://www.helicontech.com/zoo/ все пакеты в т.ч. virtaualenv устанавливаются автоматически. Правда на текущий момент у меня заработала только django 1.6, а с 1.7 в связке с heliconzoo была проблема с локализацией от неё пришлось отказаться.
Дякую за варіант. Буду рекомендував віндовсистам 🙂
Добрый день, Виталий!
Прежде всего – спасибо вам за подробное описание установки Питона на Виндовс.
Я хотел бы узнать, есть ли принципиальная разница между установкой 2й или 3й версии Питона?
И чем продиктован выбор у вас в статье 2й версии? Ваше личное предпочтение, или пока еще нестабильность 3й версии? И есть ли смысл начинать с нуля учить Питон по 3й версии?
ось стаття де я описав ситуацію із Python 2 vs Python 3: http://www.vitaliypodoba.com/2014/05/python2-or-python3/
Хух! я зробив це, не знаю навіть з якої спроби – вдруге не повторю)
Максим, в мене теж вийшло. І я не повторю )
нЕ можу проінсталювати pip.
яку вірсію Python ви використовуєте в уроках? Можна встановити Python3 і не мучатись з pip install?
Уже розібрався, і так ось що було:
1) помогла стаття https://docs.djangoproject.com/en/dev/howto/windows/
Щоб встановити рір необхідно було спочатку поставити Setuptools
Командою “easy_install pip” встановився рір.
2) Там опечатка, назва папки virtenv – virtenvs
3) При вдалому встановленні віртуального середовища команди типу “..\Scripts\django-admin startproject myproject” не працюють
Достатньо просто “django-admin startproject myproject” в середині потрібної папки
Ох, уже запарився із цим рір, не працює хоч ти трісни (W7 x64)
https://dl.dropboxusercontent.com/u/15890785/%D1%80%D1%96%D1%80.JPG
Як знайду рішення напишу.
мабуть шлях до скриптової папки пітона не прописаний у тебе на вінді. можна в такому випадку задавати повний шлях до скрипта pip. e.g. C:\Python2.7\Scripts\pip.exe чи якось так.
Раджу використовувати Powershell ISE – там є підсвітка синтаксису, можливість розгорнути на весь екран і багато інших корисних речей.
дякую за рекомендацію!