Python, Django и virtualenv

000dfdde2

Если вы до сих пор не используете virtualenv — изолированные окружения для Python-проектов, то самое время начать это делать. Профит от этого весьма очевиден — каждое Python-приложение использует только нужные ему библиотеки (нужных версий) и требуемую версию Python. А еще это снижает риск возникновения конфликтов импорта, с которыми пришлось столкнуться мне. Подробности под катом.

Пишется тут неспешно Django-приложение. Есть в нем модель event. Простое, ничем не примечательное название модели. Кроме того, что это же имя используется добрым десятком библиотек моего системного Python. В результате имеем ситуацию, когда:
event.models.*
не срабатывает, т.к. Python просто не знает какой именно event мы хотим (смотри картинку, мой проект закрашен красненьким :) )

screenshot_013

В итоге срабатывает только прямое указание:
app.event.models.*
Однако при этом на продакшн-сервере все правильно и используется virtualenv — приходится править код. И это не есть гут. Вот так и учит жизнь ударами по лбу — надо сразу делать правильно и не лениться. Урок мне на будущее.

Популярность: 6% [?]

Tags: , , ,

2 комментария to “Python, Django и virtualenv”

  1. wik пишет:

    иллюстрация что надо :D

    Ответ

  2. wik пишет:

    ...можно даже не читать

    Ответ

Leave a Reply