如何打包一个django项目?
Posted
技术标签:
【中文标题】如何打包一个django项目?【英文标题】:how to package a django project? 【发布时间】:2013-01-15 01:57:35 【问题描述】:我如何打包一个项目,以便我可以调用一些运行该项目的函数?
我知道如何打包 django 应用,但我的问题是如何打包 django 项目。
目前我的项目在内部 pypi 服务器上,可以使用以下方式将其拉下:
pip install [project]
但是要使用它,我必须进入我的站点包,然后进入包,这样我才能运行
./manage.py ....
还是我最好检查项目并 pip 安装应用程序?
【问题讨论】:
您是否尝试部署到生产环境? 是的,我会的,目前我只是在虚拟环境中测试部署 你读过wsgi吗? docs.djangoproject.com/en/dev/howto/deployment/wsgi 我正在使用gunicorn 而不是 wsgi(由于 gunicorn 处理异步工作人员),但正如它所说(如果我没看错的话)你需要给出一个完整的路径。我使用'./manage.py run_gunicorn ....'运行它 嗯。我想我有点误解了这个问题,因为我认为你想自动启动应用程序(在生产中,manage.py 是无关紧要的)。在我们的项目中,我们通常有一个厨师脚本检查代码,pip 安装依赖项,然后运行 uwsgi 指向(带有完整路径)到结帐位置。 【参考方案1】:一种方法是使用您的发行版包管理系统创建一个包。在我的商店,我们使用 Ubuntu 的 aptitude。因此,使用 CMake 将我们的软件打包为 .deb。
【讨论】:
【参考方案2】:这可能不是最好的方法,但您可以使用distribute
为您生成包装脚本:http://packages.python.org/distribute/setuptools.html#automatic-script-creation
【讨论】:
【参考方案3】:我对@987654321@ 也有同样的问题。围绕该项目的社区提出的解决方案是以多种方式将其打包用于不同的平台,但不是作为 PyPi 模块。
按照受欢迎程度,我的项目通常通过以下方式安装:
Docker 实例:docker pull <project-name> && docker-compose up
克隆 git 存储库:git clone <url> && ./project/scripts/do-the-thing
流浪者:vagrant up
如果小组中有更多支持,我想推出.deb
、.ebuild
和.rpm
是有意义的,但在这个阶段,人们似乎或多或少对以上。
【讨论】:
以上是关于如何打包一个django项目?的主要内容,如果未能解决你的问题,请参考以下文章