如何使用使用 pip 打包的 django 项目?

Posted

技术标签:

【中文标题】如何使用使用 pip 打包的 django 项目?【英文标题】:How to use a django project packed using pip? 【发布时间】:2013-09-03 02:40:32 【问题描述】:

我刚写完一个 django 项目,用以下方式打包:

$ python setup.py sdist 
$ python setup.py register
$ python setup.py sdist upload 

它现在已经准备好并在 pypi 中等待。

我创建了一个全新的 virtualenv 环境,激活它然后点击

$ pip install qkreator

'qkreator' 是我的包的名称 :)

我应该如何运行它?

它现在安装在 /lib/python2.7/site-packages/quiz_creator/ 的 virtualenv 中,但里面没有 manage.py 文件 - 尽管我在打包所有东西时将它包含在 MANIFEST.in 中

(在开发项目时,我使用$ python manage.py runserver 运行它)

附:我的 settings.py 文件中还有一些完整路径。我应该如何使这些动态?

【问题讨论】:

【参考方案1】:

为了使 settings.py 中的路径动态化,您可以使用以下方法:

import os.path
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) #set PROJECT_ROOT to the path where your settings.py is available
STATIC_ROOT = os.path.join(PROJECT_ROOT,'static/') #join PROJECT_ROOT with the relative folder where static files are to be found 

【讨论】:

以上是关于如何使用使用 pip 打包的 django 项目?的主要内容,如果未能解决你的问题,请参考以下文章

总结Django一些开发经验

如何打包 python 应用程序以使其可 pip 安装?

Django:如何重新分发包含可扩展 HTML 模板的项目/应用程序?

如何打包一个django项目?

腾讯云python系列之部署Django流程

pip - 如何使用预先构建的***而不是再次拉动 git 以避免冲突?