将应用打包需要安装: setuptools

安装和卸载应用需要安装: pip

举例polls是一个应用包。 polls文件夹中包含所有有关应用的文件。

打包应用:

  1. 首先,在你的Django项目之外,为polls创建一个父目录。称这个目录为django-polls。

    为你的应用选择一个名字

    当为你的包选择一个名字时,检查一下PyPI中的资源以避免与已经存在的包有名字冲突。当创建一个要发布的包时,在你的模块名字前面加上django-通常很有用。 这有助于其他正在查找Django应用的人区分你的应用是专门用于Django的。

    应用的标签(应用的包的点分路径的最后部分)在INSTALLED_APPS中必须唯一。避免使用与Django的contrib 包 中任何一个使用相同的标签,例如auth、admin和messages。

  2. 将polls 目录移动到django-polls目录。

  3. 创建一个包含一些内容的文件django-polls/README.rst:

    django-polls/README.rst
    =====
    Polls
    ===== Polls is a simple Django app to conduct Web-based polls. For each
    question, visitors can choose between a fixed number of answers. Detailed documentation is in the "docs" directory. Quick start
    ----------- 1. Add "polls" to your INSTALLED_APPS setting like this:: INSTALLED_APPS = (
    ...
    'polls',
    ) 2. Include the polls URLconf in your project urls.py like this:: url(r'^polls/', include('polls.urls')), 3. Run `python manage.py migrate` to create the polls models. 4. Start the development server and visit http://127.0.0.1:8000/admin/
    to create a poll (you'll need the Admin app enabled). 5. Visit http://127.0.0.1:8000/polls/ to participate in the poll.
  4. 创建一个django-polls/LICENSE文件。选择License超出本教程的范围,但值得一说的是公开发布的代码如果没有License是毫无用处的。Django和许多与Django兼容的应用以BSD License 发布;然而,你可以随便挑选自己的License。只需要知道你的License的选择将影响谁能够使用你的代码。

  5. 下一步我们将创建一个setup.py 文件,它提供如何构建和安装该应用的详细信息。该文件完整的解释超出本教程的范围,setuptools 文档 有很好的解释。创建一个文件django-polls/setup.py,其内容如下:

    django-polls/setup.py
    import os
    from setuptools import setup with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as readme:
    README = readme.read() # allow setup.py to be run from any path
    os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir))) setup(
    name='django-polls',
    version='0.1',
    packages=['polls'],
    include_package_data=True,
    license='BSD License', # example license
    description='A simple Django app to conduct Web-based polls.',
    long_description=README,
    url='http://www.example.com/',
    author='Your Name',
    author_email='yourname@example.com',
    classifiers=[
    'Environment :: Web Environment',
    'Framework :: Django',
    'Intended Audience :: Developers',
    'License :: OSI Approved :: BSD License', # example license
    'Operating System :: OS Independent',
    'Programming Language :: Python',
    # Replace these appropriately if you are stuck on Python 2.
    'Programming Language :: Python :: 3',
    'Programming Language :: Python :: 3.2',
    'Programming Language :: Python :: 3.3',
    'Topic :: Internet :: WWW/HTTP',
    'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
    ],
    )
  6. 默认只有Python模块和包会包含进包中。如果需要包含额外的文件,我们需要创建一个MANIFEST.in文件。上一步提到的setuptools 文档对这个文件有更详细的讨论。如果要包含模板、README.rst和我们的LICENSE 文件,创建一个文件django-polls/MANIFEST.in,其内容如下:

    django-polls/MANIFEST.in
    include LICENSE
    include README.rst
    recursive-include polls/static *
    recursive-include polls/templates *
  7. 将详细的文档包含进你的应用中,它是可选的,但建议你这样做。创建一个空的目录django-polls/docs用于将来存放文档。向django-polls/MANIFEST.in添加另外一行:

    recursive-include docs *
    

    注意docs不会包含进你的包中除非你添加一些文件到它下面。许多Django应用还通过类似readthedocs.org这样的站点提供它们的在线文档.

  8. 试着通过python setup.py sdist 构建你的包(从django-polls的内部运行)。这会创建一个dist目录并构建一个新包:django-polls-0.1.tar.gz。

更多关于打包的信息,参见Python 的 打包和分发项目的教程。

安装和卸载自己的包:

因为,我们将polls 目录移到项目的目录之外,它不再工作了。我们将通过安装我们的新的django-polls包来修复它。

安装成某个用户的库

以下的步骤将安装django-polls 成某个用户的库。用户级别的安装比系统级别的安装有许多优点,例如将包运行在普通用户级别上不但不会影响系统服务还不会影响其他用户

注意根据用户的安装仍然可以影响以该用户身份运行的系统工具,所以virtualenv 是更健壮的解决办法(见下文)。

  1. 安装这个包,使用pip(你已经安装好它了,对吧?):

    pip install --user django-polls/dist/django-polls-0.1.tar.gz
    
  2. 幸运的话,你的Django 项目现在应该又能正常工作了。请重新运行服务器以证实这点。

  3. 若要卸载这个包,使用pip:

    pip uninstall django-polls

Django应用的打包和应用的安装和卸载的更多相关文章

  1. django安装和卸载

    一.pip安装 安装: apt-get update apt-get install python-pip pip install django==1.4.20 卸载: pip uninstall d ...

  2. Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案

    原文:Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案 如果你是用Visual Studio自带的打包项目打包了一个I ...

  3. 在打包程序中自动安装SQL Server数据库 .

    原文:在打包程序中自动安装SQL Server数据库 . 1.创建安装项目“Setup1”安装项目 在“文件”菜单上指向“添加项目”,然后选择“新建项目”. 在“添加新项目”对话框中,选择“项目类型” ...

  4. Java程序导出成.jar文件、生成.exe可执行文件及打包成可执行安装程序(可在无Java环境的计算机上运行)--以个人所得税计算器为例

    Java程序导出成.jar文件.生成.exe可执行文件及打包成可执行安装程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 需要准备的软件: jdk, ...

  5. pip 安装 和 卸载 django

    1. 在dos命令行中输入 pip 如下命令进行安装: 安装最新的版本的 Django 命令如下: pip install django 安装 指定版本的 Django 命令如下: pip insta ...

  6. Django 2.0.1 官方文档翻译: 快速安装向导 (Page5)

    快速安装向导 (Page 5) 在你使用 Django 前,你需要先安装它.我们有一个完整的安装向导,它包含所有涉及的内容,这个向导会指导你进行一个简单的.最小化的安装,当你通过浏览介绍内容的时候,这 ...

  7. Django 2.0.1 官方文档翻译: 如何安装 django (Page 17)

    如何安装 django(Page 17) 这一部分可以让你将 Django 运行起来. 安装 Python 作为 python 的一个 web 框架,Django 依赖 Python.Python 的 ...

  8. 企业版证书打包APP发布,安装后闪退问题解决。

    企业版证书打包APP发布,安装后闪退问题解决. 我现在就碰到这个问题,只要项目与Swift沾上边的,都会出问题. 如果我们是直接使用开发者证书进行真机调试,那么就不会出现问题,像往常一样好.但如果我们 ...

  9. C#:手把手教你用C#打包应用程序(安装程序卸载程序)

    摘要:本文介绍在C#中手把手教你用C#打包应用程序(安装程序卸载程序) 1:新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点 ...

随机推荐

  1. vue-cli 基础搭建

    1.安装node 2.npm install webpack -g 3.npm install vue-cli -g 4.然后进入到文件下边 vue init webpack 文件名字 5.进入工程文 ...

  2. 我该不该学习C语言

    这几天把c语言过了一遍,基本上算是入门了,常用语法.函数的使用.c语言是比较古老的语言了,很多系统的底层.工业控制软件都是使用C语言编写,过一遍之后觉得c语言屹立不倒是有原因.c程序员有一句话:使用c ...

  3. [转]oracle update set select from 关联更新

    本文转自:http://blog.csdn.net/disiwei1012/article/details/52589181 http://www.blogjava.net/Jhonney/archi ...

  4. SpringMVC国际化配置

    一.什么是国际化: 国际化是设计软件应用的过程中应用被使用与不同语言和地区 国际化通常采用多属性文件的方式解决,每个属性文件保存一种语言的文字信息,    不同语言的用户看到的是不同的内容 二.spr ...

  5. form表单在发送到服务器时候编码方式

    enctype(编码方式):规定了form表单在发送到服务器时候编码方式.有如下的三个值可选: 1.application/x-www-form-urlencoded.默认的编码方式.但是在用文本的传 ...

  6. springMVC基于注解的控制器

    springMVC基于注解的控制器 springMVC基于注解的控制器的优点有两个: 1.控制器可以处理多个动作,这就允许将相关操作写在一个类中. 2.控制器的请求映射不需要存储在配置文件中.使用re ...

  7. JDK自带工具keytool生成ssl证书 和 HTTPS双向认证

    创建证书(第一步) keytool -genkey -alias "baidu" -keypass "123456" -keystore "D:/ba ...

  8. ugui之圆角矩形头像实现

    这个是参考大神的修改了一下渲染方式实现的,可以去查看原帖的,原贴是圆形头像,原理讲的非常详细 点击这里 我写的这个只支持正方形图片,效果是酱紫的~ 一共三个代码,还需要两个代码,原帖里都有的,我只是修 ...

  9. 关于 class 的命名

    class名称中只出现小写字符和破折号 使用有组织或目的明确的名称,不使用表现形式 基于最近的的父class 作为新class的前缀 使用 .js-* 来标识行为,并且不要将这些class包含到css ...

  10. ArcSDE10.2.2使用SQL操作ST_Geometry时报ORA-28579或ORA-20006错误

    ArcSDE10.2.2使用SQL操作ST_Geometry时报ORA-28579或ORA-20006错误 1.测试环境说明 ArcSDE版本:10.2.2 Oracle版本:12.1.0.1和11. ...