python学习笔记5.4-包的发布

有时候我们创建了一个非常好用的包,希望能够分发给好友一起使用,或者开源到网上,这个时候就要会利用python包的发布的工具。 一个健壮的包,并不只是包含有代码,应该有说明文档和测试代码,一般的目录结构是这样的:

project/
    README.txt
    setup.py
    MANIFEST.ni
    doc/
        documention.txt
    project/
        __init__.py
        foo.py
        ...
        utils/
            __init__.py
            func.py
        ...    
    test/
        test1.py
        ...

与包的建立的相比,多了setup.py文件和MANIFEST.n文件,这两个文件包含了包发布相关的所有内容。

1. setup.py文件

# setup.py
from distutils.core import setup

setup(name='project',
      version='1.0',
      auther='your name',
      url = 'your url'
      packages=['project', 'project.utils'),
     )

需要说明的是packages=['project', 'project.utils'],这里指明包包含有哪些内容,包括顶层包和子包,常见的错误就是在这里指明了顶层包却没有指明子包,导致子包不可用。

2. MANIFEST.ni 文件

#MANIFEST.ni
include *.txt
recursive-include test *
recursive-include doc *

可以看出该文件的功能就是列出各种不属于代码的部分,也就是非源码部分。

3. 包的安装

  • 1)windows环境下:
打开运行(win键+R)输入cmd,通过cd /d c:\home 将工作路径转移到包的目录(我的是C:\home)
运行命令 python setup.py install 安装库 ,最后提示Installed:位置。。 表示安装成功。
  • 2)linux环境下
在包的目录下输入:
bash python setup.py sdist

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ChaMd5安全团队

ImageTragick的快速检测及利用

如何利用burp+metasplot快速检测&利用 ImageTragick(CVE-2016–3714) From ChaMd5安全团队核心成员 小meet...

33012
来自专栏开源优测

[快学Python3]环境安装

下载 在浏览器中访问Python下载地址: https://www.python.org/downloads/ 如图: ? 注:本书的示例都是基于windows...

2576
来自专栏张戈的专栏

Linux系统yum命令安装软件时保留(下载)rpm包

昨天在部署 zabbix 监控的时候,遇到一个问题:监控服务器处于无外网状态,在线安装不可用。而某些依赖包度娘或谷姐搜索起来也挺呛人的!于是想到一个办法,利用有...

3215
来自专栏假装我会写代码

Composer 版本约束表达式的使用

803
来自专栏腾讯Bugly的专栏

打造“微信小程序”组件化开发框架

导语 Bugly 之前发了一篇关于微信小程序的开发经验分享,小伙伴们在公众账号后台问了很多关于小程序开发方面的问题,精神哥在查阅相关内容的时候,发现了龚澄同学自...

4283
来自专栏DannyHoo的专栏

在Xcode8上安装插件之后闪退

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

732
来自专栏技术专栏

Spring Security+Spring Social+SpringBoot集成Restful可配置安全模块及代码生成器

1.本项目主要分为core核心模块,browser浏览器模块,app模块,demo使用restful实例模块及spring-boot-api-project-s...

1772
来自专栏河湾欢儿的专栏

pc移动中常用的meta标签

字符编码:声明文档使用的字符编码 相对于这种方式,更推荐你(推荐使用HTML5的声明方式)。

775
来自专栏Java技术栈

WEB攻击手段及防御第3篇-CSRF

概念 CSRF全称即Cross Site Request forgery,跨站点请求伪造,攻击者通过跨站点进行伪造用户的请求进行合法的非法操作,其攻击手法是通过...

3068
来自专栏刺客博客

艾特文件管理器 1.8

2275

扫码关注云+社区