получить модули локально для проекта Django - PullRequest
0 голосов
/ 11 августа 2011

Есть ли способ импортировать все модули в самом проекте django вместо установки снова и снова во всех системах.Я бы использовал gem freeze или что-то подобное в проекте rails.

Ответы [ 4 ]

3 голосов
/ 11 августа 2011

Здесь есть некоторая путаница с терминологией: «модули» относятся к отдельным .py файлам в пакете Python.И импорт - это то, что вы делаете в коде, чтобы перенести модули в текущее пространство имен.

Я думаю вы спрашиваете, как установить Python пакеты при развертывании.Ответ таков: используйте pip с командой freeze в сочетании с virtualenv .

1 голос
/ 12 августа 2011

Прежде всего вы должны использовать virtualenv .Таким образом, путь Python вашего приложения django имеет только отношение к нему.Это также позволяет вам запускать несколько отдельных приложений django / python на одном и том же сервере без их голов.

Если у вас есть virtualenv с запущенным в нем приложением django, вам нужно сгенерировать файл требований.

pip freeze -E virtualenv_path> stable-req.txt

Затем этот файл можно использовать для создания пакета.

пакет pip mybundle.bundle -r stable-req.txt

Этот пакет затем можно использовать для развертывания.

1 голос
/ 11 августа 2011

Вместо

gem freeze

Попробуйте использовать

pip bundle

Я нашел это решение здесь: Django эквивалентно "rake rails: freeze: gems" и "rake gems: распаковать "

0 голосов
/ 11 августа 2011

Есть ли причина, по которой вы хотите импортировать все модули?

Рекомендуется импортировать только те модули, классы и т. Д., Которые необходимы ...

...