0

有没有办法导入 django 项目本身中的所有模块,而不是在所有系统中一次又一次地设置。我会在 Rails 项目中使用 gem freeze 或类似的东西。

4

4 回答 4

3

这里有一些术语混淆:“模块”是指.pyPython 包中的单个文件。导入是您在代码中所做的,将模块带入当前命名空间。

认为您要问的是如何在部署时安装Python包。答案是,将pipfreeze命令一起使用,并与virtualenv结合使用。

于 2011-08-11T09:10:14.807 回答
1

代替

gem freeze

尝试使用

pip bundle

我在这里找到了这个解决方案:Django 相当于“rake rails:freeze:gems”和“rake gems:unpack”

于 2011-08-11T09:11:52.977 回答
1

首先,您应该使用virtualenv。这样,您的 django 应用程序的 python 路径只有与之相关的内容。这也允许您在同一台服务器上运行多个单独的 django / python 应用程序,而不会遇到麻烦。

当您有一个运行 django 应用程序的 virtualenv 时,您需要生成一个需求文件。

pip freeze -E virtualenv_path > stable-req.txt

然后,您可以使用此文件生成捆绑包。

pip bundle mybundle.bundle -r stable-req.txt

然后可以使用此捆绑包进行部署。

于 2011-08-11T20:29:53.313 回答
0

您是否有理由要导入所有模块?

只导入那些需要的模块、类等是一个很好的做法......

于 2011-08-11T09:08:29.817 回答