Python і оточення virtualenv

Python і оточення virtualenv

Python і оточення virtualenv

Про virtualenv напевно тільки ледачий не писав :) і не вихваляв би, як з ним стає легше розробляти і підтримувати модулі різних версій на python'e. Цей пост не стане винятком, я опишу як ставити цього звірка і далі використовувати в повсякденному кухні.

Потрібен virtualenv для створення віртуальних оточень python, всередині яких може, наприклад, використовуватися інша версія python (не та що встановлена ​​в системі як основна), свій, особливий, набір модулів і додатків (потрібних під конкретну задачу). І потрібно воно для того щоб, наприклад, протестувати нову версію модуля, що не засмічуючи і не конфліктуючи з основним набір модулів або створити проект який буде використовувати строго обраний набір модулів і в майбутньому не планується його оновлення, в той час як модулі, встановлені в системі , як основні, можуть вільно оновлюється.

Для початку ставимо pip

Створюємо нове оточення:

Якщо в операційній системі варто кілька версій пітонів, то virtualenv можна вказати скільки разів використовувати:

Тепер ми можемо наповнювати нове оточення необхідними модулями:

Варіант 2: спочатку активуємо наше оточення

На початок рядка запрошення в терміналі повинно буде додасться назва нашого оточення (test) це означає, що оточення активізувалося. Тепер для всього буде використовуватися версія python з цього оточення і видно тільки модулі встановлені в це оточення.

Ставимо потрібні модулі:

Що-б вийти з активованого оточення просто набираємо

Для ще більшого комфорту при роботі з virtualenv Doug Hellmann написав розширення virtualenvwrapper. яке робить всі маніпуляції з оточенням ще простіше.

Створюємо папку, де будуть лежати все оточення

Додаємо в файл

Створюємо нове оточення:

Для роботи wsgi зі створеним оточенням додаємо папку site-packages з цього оточення в видимий шлях:

Що б додати в cron задачу написану з використанням модулів зі створеного оточення треба просто викликати використовуваний python з цього оточення: