Новости

Vagrant, Python, Pycharm = (зручна, робота, Windows)

  1. Вступ Django - широко відомий і один з найбільш розвинених фреймворків для веб-розробки. Django...
  2. висновок

Вступ

Django - широко відомий і один з найбільш розвинених фреймворків для веб-розробки. Django написаний на Python і, отже, для роботи з ним буде потрібно встановлений інтерпретатор Python. Це не становить жодних проблем, якщо ми працюємо в середовищі Linux. Однак події приймають зовсім інший оборот, якщо доводиться займатися розробкою на Python під Windows.

Для Windows є готові збірки Python, серед яких варто відзначити Enthought Python , Anaconda Python , PythonXY .
Є і більш прості шляхи (див. http://docs.python-guide.org/en/latest/starting/install/win/ ).
Основний їх недолік в порівнянні зі «стандартним» Python в Linux - обмеженість набору бібліотек, доступних для установки. Зокрема, в них не Django, і для його установки доводиться здійснювати якісь не зовсім очевидні дії.

Один з можливих варіантів вирішення проблеми - установка віртуальної машини з Linux на борту. Робота з віртуальною машиною, незважаючи на простоту її установки і настройки, привносить ряд незручностей.
Так, віртуальна машина може виявитися досить вимогливою до ресурсів комп'ютера і часом працювати повільно, створюючи дискомфорт розробнику. Особливо сильно це дратує, якщо гальмування починається в найбільш напружений момент роботи (а саме тоді це найчастіше і відбувається!). Крім того, навіть на дуже хорошому залозі таке IDE, як PyCharm, працює в режимі далекому від того, який прийнято вважати комфортним.

Підвищити швидкодію можна за рахунок установки тільки необхідних пакетів, відсутності віконного менеджера і тому подібних проблем. Т. е., Необхідно правильно налаштувати віртуальну машину. І в цій справі на допомогу приходить Vagrant - утиліта для створення повністю готових робочих оточень на основі віртуальних машин (VirtualBox, VmWare Player / Workstation). Vagrant не тільки встановлює віртуальну машину, але і дозволяє з легкістю створювати нові, використовуючи поточну конфігурацію користувача.

У наступному розділі розглядається установка і настройка робочого оточення Vagrant для використання його в якості віддаленого Python інтерпретатора для проектів PyCharm.

Робота з Vagrant в Windows

2. 1 Установка Vagrant і завантаження оточення

Установка Vagrant виконується дуже просто. Все, що необхідно, - завантажити установник з сайту https://dl.bintray.com/mitchellh/vagrant/vagrant_1.5.2.msi і запустити його. Крім того, для роботи Vagrant потрібно встановити одну з віртуальних машин VirtualBox або VMware.

Після того, як Vagrant встановлений, ми переходимо до створення робочого оточення. Основа його побудови - «коробка» Vagrant (box). '' Коробка '' Vagrant є файл з розширенням box. Цей файл є не що інше, як архів tar, можливо стислий за допомогою gzip. Всередині архіву зберігаються образ віртуальної машини і файли, необхідні для її коректного запуску.

На офіційному сайті Vagrant є значне число готових «коробок» з різними версіями Linux і встановленим ПО. Їх список можна подивитися на VagrantCloud .
Ще більше готових оточень є на http://www.vagrantbox.es .

Для наших цілей цілком підійде стандартна версія Ubuntu - hashicorp / precise64 з попередньо встановленими Chef і Puppet (які нам, до речі кажучи, не знадобляться) з офіційного репозиторію. Перед тим як встановлювати оточення, створимо директорію, де буде зберігатися файл з конфігурацією для нього. Назвемо її Vagrant. Переходимо в цю директорію і виконуємо в консолі:

\ Vagrant> vagrant init hashicorp / precise64

Після цього в директорії з'явиться файл Vagrantfile, в якому міститься опис конфігурації даного оточення. Наприклад, рядок config.vm.box = «hashicorp / precise64» визначає ім'я нашого оточення. Тепер все готово до того, щоб приступити до запуску оточення. Виконаємо

\ Vagrant> vagrant up

і побачимо повідомлення про завантаження відповідної «коробки». Т. к. Це - перший запуск даного оточення, перед стартом його треба завантажити зі сховищ на локальний диск. Слід зауважити, що в наведеному вище прикладі аргумент команди init - ім'я оточення - співпадає з таким на сайті Vagrant. Це відповідність необов'язково. Так, можна було б конфігурувати дане оточення (його версію без Chef і Puppet) і таким чином:

\ Vagrant> vagrant init precise64 http: //cloud-images.ubuntu.com/vagrant/precise/current / ... .box

Другий аргумент init, як нескладно помітити, являє собою URL «коробки». Відзначимо також, що імена оточень, наприклад, використані вище hashicorp / precise64, precise64, фактично потрібні для зручної орієнтації серед встановлених оточень, а сам Vagrant використовує унікальні ідентифікатори для запуску необхідного оточення (їх значення зберігається в файлі action_set_name). Файли робочих оточень зберігаються за замовчуванням в директорії ~ / .vagrant.d}, де «~» в Windows - директорія C: \ Users \ your_login \.

Після того як ми виконали vagrant up і дочекалися завантаження оточення, воно готове до використання, в чому можна переконатися, перевіривши його статус:

\ Vagrant> vagrant status

Для завершення роботи оточення використовується команда

\ Vagrant> vagrant halt

Всі встановлені оточення Vagrnat можна переглянути за допомогою vagrant box list або безпосередньо в VirtualBox (VMware), малюнок 2.1.

2.1 Virtualbox з встановленими віртуальними машинами Vagrant

На закінчення цього розділу відзначимо, що оточення Vagrant може бути додано за допомогою команди vagrant box add. Детальніше про неї і про інших консольних командах Vagrant можна прочитати на сторінці з офіційну документацію .

2.2. Підключення до оточення Vagrant

При старті оточення (vagrant up) в папці .vagrant.d автоматично створюється ключ insecure_private_key для підключення до оточення по протоколу ssh. Для використання протоколу ssh в Windows нам будуть потрібні програми PuTTY і PuTTYgen (Для конвертації ключа в формат, який PuTTY розуміє). Запускаємо PuTTYgen, відкриваємо insecure_private_key і бачимо повідомлення, що ключ був успішно імпортовано. Тепер можна зберегти його в форматі ppk як private key.

З міркувань зручності ключ можна зберегти в папку з файлом Vagrantfile для даного оточення. Тепер вказуємо PuTTY, який ключ використовувати, і підключаємося через порт 2222 (номер порту відображається при виконанні vagrant up). За замовчуванням для підключення використовується ім'я (login) - vagrant.

Якщо підключення пройшло вдало, ми опинимося в консолі нашого Vagrant-оточення, звідки можна встановлювати бібліотеки Python або системні програми.

2.2 Збереження ключа в PuTTYgen

(А) Налаштування параметрів PuTTY (б) Шлях до ключу ssh Рис. 2.3 настройка параметрів з'єднання PuTTY

Тепер, коли робочі оточення завантажені і запущені, все готово до установки Python і власне Django. Хороша практика - використання віртуальних оточень для роботи з Python (і не тільки з ним). У цьому випадку ризик конфліктів з уже встановленими в системі версіями інтерпретатора та іншого ПО зводиться до мінімуму і з'являється можливість одночасної роботи з різними версіями інтерпретатора Python, Django або будь-якого іншого пакета.

Для установки віртуального оточення виконуємо в консолі Vagrant:

vagrant @ vagrant sudo apt-get install python-virtualenv

Після завершення установки створюємо нове віртуальне оточення

vagrant @ vagrant virtualenv venv

активуємо його

vagrant @ vagrant source / home / vagrant / venv / bin / activate

Тепер прийшов час встановити Django:

(Venv) vagrant @ vagrant pip install django

Можна вказати версію пакету, яку ми хочемо встановити:

(Venv) vagrant @ vagrant pip install django == 1.4

Django встановлений, але залишилася одна невелика завдання: навчити PyCharm працювати з інтерпретатором Python, встановленим в оточенні Vagrant. Як це зробити, розбирається в наступному розділі.

2.4 Налаштування PyCharm

Запустимо PyCharm і створимо новий Django-проект. За замовчуванням він створюється в папці ~ / PycharmProjects /. Нехай це буде проект Test. Далі в домашній директорії робочого оточення Vagrant створимо папку PycharmProjects (збіг імен випадково і вибрано з міркувань зручності).

Переходимо в меню налаштувань проекту: File-> Settings-> Project Interpeter. Тут додаємо новий інтерпретатор: вказуємо його адресу (127.0.0.1), номер порту (2222), ім'я користувача (vagrant), шлях до інтерпретатора / home / vagrant / venv / bin / python і, нарешті, вказуємо шлях до файлу з ключем для ssh (див. розділ 2.2)

Тепер необхідно налаштувати синхронізацію локальної папки з проектами та аналогічної папки в оточенні Vagrant. Відкриваємо для редагування файл Vagrant і раскомментіруем в ньому рядок з config.vm.synced_folder, виправляючи її на config.vm.synced_folder C: / Users / adolgikh / PycharmProjects, / home / vagrant / PycharmProjects. Тепер локальні файли будуть синхронізуватися з оточенням, в якому встановлений інтерпретатор. перезапускаємо Vagrant

$ Vagrant reload

і бачимо, що наша папка з проектом Test була успішно додана в папку з проектами в віддаленому робочому оточенні.

Щоб поточні зміни, зроблені по ходу роботи над проектом, відразу відправлялися в віддалену середу, необхідно зробити додаткові налаштування в проекті Pycharm. Заходимо в меню Run-> Edit Configuration і коригуємо Path Mapping так, як це показано на скріншоті.
Згадки заслуговує можливість запуску ssh-консолі в Pycharm. Вона запускається з меню Tools і підключається по ssh до оточення, яке зазначено в настройках віддаленого інтерпретатора. Таким чином, нам немає необхідності використовувати PuTTY з коректно настроєним проектом в Pycharm.

Таким чином, нам немає необхідності використовувати PuTTY з коректно настроєним проектом в Pycharm

Мал. 2.4 Налаштування Path Mapping в Pycharm

висновок

Безсумнівно, Vagrant хороший не тільки тим, що дозволяє істотно підвищити зручність Python-розробки в Windows. Встановлюючи Vagrant, ми отримуємо можливість створювати, конфігурувати і зберігати повністю функціональні робочі оточення. Більш того, ми можемо створювати конфігурації, де одночасно працюють кілька Vagrant оточень з різними конфігураціями.
Таким чином, з'являється можливість досить точно змоделювати передбачуване робоче оточення, яке використовується в production. Одним словом, Vagrant є ще один цінний інструмент в руках розробника, в подальшому ми постараємося висвітлити і інші аспекти роботи з ним.

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: