#python #django #installation
#python #django #установка
Вопрос:
Я хочу использовать пару сторонних пакетов django для своего приложения. Итак, я хочу установить каждый пакет локально для этого приложения (или всего моего проекта).
Пользовательские инструкции по установке python выглядят немного пугающе — как мне сделать это как можно проще?
Ответ №1:
Вы можете просто поместить библиотечный модуль в папку вашего проекта, потому что ваша папка проекта будет автоматически находиться в PYTHONPATH при запуске через manage.py runserver
или ваш скрипт wsgi укажет на него при запуске в рабочей среде.
Обычно все пакеты python упаковываются следующим образом:
package directory
module directory
... other files/dirs like README, Manifest and so on
В папке вашего проекта Django должна находиться только module directory
часть из приведенного выше примера, а не остальная часть пакета.
Комментарии:
1. @Torsen — Спасибо за хороший ответ. Прямо сейчас python для меня просто еще один язык, и 1) Я хочу научиться взламывать, 2) Я хочу взламывать так, как задумывали создатели django / python, и 3) Я хочу совершенствоваться и учиться.
2. @Dizzley — Хорошо, но, пожалуйста, также рассмотрите ответ Дэниела Роузмана ниже. Я бы сказал, что это более распространенный и чистый способ, чем помещение всех необходимых модулей в папку проекта.
Ответ №2:
Используйте virtualenv.
Это, безусловно, лучшее решение для установки пользовательских пакетов для каждого проекта.
Комментарии:
1. virtualenv может создать для вас закрытую среду python. Это означает, что, например, пакеты python, установленные в вашей системе PYTHONPATH, не повлияют на установку python и программ в вашем virtualenv. Преимущество заключается, например, в том, что для каждого из ваших проектов django вы можете установить разные зависимости в их соответствующем virtualenv, и они не будут влиять друг на друга. Это также включает в себя различные версии Django. Проверьте virtualenv.org/en/latest/index.html
2. Тогда голосуем за virtualenv. Изоляция имеет ряд преимуществ: ваши приложения не мешают друг другу; вы защищены от общесистемных изменений; система защищена от вас. Я подозреваю, что есть обратная сторона: фрагментация дизайна и реализации и т.д.
Ответ №3:
Просто используйте --home
— ничего страшного в этом нет.
Однако не забудьте высказать здесь свою PYTHONPATH
точку зрения.
Комментарии:
1. Я мог бы поэкспериментировать с установкой пакета таким образом.