python之模块distutils,打包工具
- # -*- coding: utf-8 -*-
- #python 27
- #xiaodeng
- #python之模块distutils,打包工具
- import distutils
- #distutils包有2个目的:
- 1)distutils希望让最终用户觉得安装新模块、包和工具的过程一致而轻松
- 2)distutils希望让新模块、包和工具的开发者觉得创建这些容易安装的分发包很轻松
- 总得来说,distutils就是用来打包的模块.
- #2、用distutils如何打包?
- #http://blog.csdn.net/five3/article/details/7847551
- #setup.py
- import codecs
- import os
- import sys
- '''打包的用的setup必须引入'''
- from distutils.core import setup
- def read(fname):
- '''
- 定义read(),用来读取目录下的长描述
- 我们一般将README文件中的内容读取出来叫做长描述,这个会在pypi中你的包的页面展现出来
- 你也可以不用此办法,直接手动写内容
- pypi上支持.rst格式的文件,暂时不支持md格式;rst格式的文件在pypi上会自动转化为html形式显示在你的包的信息页面上
- '''
- return codecs.open(os.path.join(os.path.dirname(__file__),fname)).read()
- #setup函数参数说明
- #--------------------------------------------------------------------------#
- NAME='MyTest'
- '''名字:一般填写包的名字即可'''
- PACKAGES=['MyTest']#需要打包的目录列表
- '''包:放置模块的名字,list形式,可放置多个;告诉Distutils需要处理那些包(包含__init__.py的文件夹)'''
- DESCRIPTION='my first package'
- '''描述:关于这个包的基本描述'''
- LONG_DESCRIPTION=read('README.rst')
- '''查查看包的具体更加详细的说明'''
- KEYWORDS='test python package keyword'
- '''当前包的关键词,方便pypi分类'''
- AUTHOR='xiaodeng' #作者
- AUTHOR_EMAIL='drgs156@163.com'
- URL='http://blog.sina.com.cn/u/3712558093'#项目地址,没有可写pypi上该包的地址
- VERSION='1.0.1'
- LICENSE='MIT'#授权方式
- #这3项变量未添加到setup变量中,测试时可添加进入试试.
- DOWNLOAD_URL='' #程序的下载地址
- DATA_FILES=''#打包时需要打包的数据文件,如图片,配置文件等
- SCRIPTS='' #安装时需要执行的脚步列表
- #构造setup
- setup(
- name=NAME,
- version=VERSION,
- description=DESCRIPTION,
- long_description=LONG_DESCRIPTION,
- classifiers=[
- 'License :: OSI Approved :: MIT License',
- 'Programming Language ::Python',
- 'Intended Audience :: Developers',
- 'Operating System :: OS Independent',
- ],
- keywords=KEYWORDS,
- author=AUTHOR,
- author_email=AUTHOR_EMAIL,
- url=URL,
- license=LICENSE,
- packages=PACKAGES,
- include_package_data=True,
- zip_safe=True,
- py_modules=['test','test1','test2'], #填写你的模块py文件,就是要打包的python文件列表
- )
- '''
- 安装
- >>> python setup.py sdist // 源码安装包
- >>> python setup.py bdist_wininst //Windows 下使用
- >>> python setup.py bdist_rpm //Linux 下使用
- '''
python之模块distutils,打包工具的更多相关文章
- Python 自定义模块的打包和发布
写了一个Python模块,要求打包发布,供同事们使用,好吧,查了一下,网上大部分教程没有一个能把话说明白,不过最后还是解决了,特此记录一下, 以免下次遇到同样问题,也帮助其他有缘人,哈哈. 首先看一下 ...
- Python—selenium模块(浏览器自动化工具)
selenium可以用来完成浏览器自动化相关的操作,写一些代码制定一些基于浏览器自动化的相关操作(行为动作),当代码执行后,浏览器就会自动触发相关的事件 安装方法: pip install selen ...
- 简单理解 Webpack,以及Web前端使用打包工具的原因
Java 中的模块 传统的前端开发就是 JS.HTML.CSS 三件套.Web 没有像 Java 一样拥有优秀的模块机制,就是类与类之间可以分装在不同的包下,不同包下的类互相引用时通过import导入 ...
- python打包工具distutils、setuptools分析
在上一篇博文中总结了python中导入包,安装包一条完整的线路.其中有一个有意思的知识点,安装包的方式有很多种,模块和包管理中打包,发布,安装也是值得研究的内容. python中安装包的方式有很多种: ...
- python打包工具distutils、setuptools的使用
python中安装包的方式有很多种: 源码包:python setup.py install 在线安装:pip install 包名(linux) / easy_install 包名(window) ...
- Python学习手册之__main__ 模块,常用第三方模块和打包发布
在上一篇文章中,我们介绍了 Python 的 元组拆包.三元运算符和对 Python 的 else 语句进行了深入讲解,现在我们介绍 Python 的 __main__ 模块.常用第三方模块和打包发布 ...
- Python打包工具setuptools的使用
将我们写的Python程序发布成包后,可以使其能够安装使用. 在项目上测试的时候,某些情况下,可以将Python打包,然后上传到测试服务器,安装测试. setuptools是常用的打包工具. 一个简单 ...
- Python 库/模块/工具收集
1 算法 1.1 字符串处理 re 正则表达式的标准库. StringIO / cStringIO 以读写文件的方式来操作字符串(有点类似于内存文件). cStringIO 是 C 语言实现的,提供高 ...
- 各种 Python 库/模块/工具
1 算法 1.1 字符串处理 re 正则表达式的标准库. StringIO / cStringIO 以读写文件的方式来操作字符串(有点类似于内存文件). cStringIO 是 C 语言实现的,提供高 ...
随机推荐
- ECC校验
ECC的全称是 Error Checking and Correction or Error correction Coding,是一种用于差错检测和修正的算法.NAND闪存在生产和使用中都会产生坏块 ...
- 一步一步学SpringDataJpa——JpaRepository查询功能
原文地址: https://blog.csdn.net/ming070423/article/details/22086169 1.JpaRepository支持接口规范方法名查询.意思是如果在接口中 ...
- SQLSERVER系统视图 sql server系统表详细说明
参考 https://www.cnblogs.com/luluping/archive/2012/11/05/2754639.html https://www.cnblogs.com/litubin/ ...
- aspnet_regiis -i VS 20XX 的开发人员命令提示符
1,VS 2010 Setting environment x86 tools. D:\Program Files\Microsoft Visual Studio 10.0\VC>aspnet_ ...
- USB线插拔检测使用UEventObserver检测uevent事件的分析
说实话这玩样儿的代码量真的很少,大家如果能耐得住性子啃一会儿也就能撸懂了. 在这之前研究USB线插拔的时候就知道了有这么个东西,当时也就看了看,但没做什么笔记.最近想用起来,却发现就只有个名字在记忆中 ...
- 2、Python特征
Python特征 Python编程语言中的定位 脚本语言 高阶动态编程语言 简单易学 Python是一种代表简单主义思想的语言.Python的这种伪代码本质是它最大的优点之一.它使你能够专注于解决问题 ...
- 使用jQuery获取radio/checkbox组的值的代码收集
<!-- $("document").ready(function(){ $("#btn1").click(function(){ $("[na ...
- iOS开发-消息通知机制(NSNotification和NSNotificationCenter)
iOS中委托模式和消息机制基本上开发中用到的比较多,一般最开始页面传值通过委托实现的比较多,类之间的传值用到的比较多,不过委托相对来说只能是一对一,比如说页面A跳转到页面B,页面的B的值改变要映射到页 ...
- Centos安装FTP服务器和配置
安装 yum install vsftpd 启动/重启/关闭 /sbin/service vsftpd start /sbin/service vsftpd restart /sbin/service ...
- 学界 | Yann LeCun新作,中日韩文本分类到底要用哪种编码?
https://www.wxwenku.com/d/102093756 AI科技评论按:前几天,Yann LeCun与其学生 张翔在arXiv上发表了一篇新作「Which Encoding is th ...