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=‘[email protected]‘
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 下使用
‘‘‘
时间: 2024-10-03 23:04:20

python之模块distutils,打包工具的相关文章

Poerty进行Python依赖管理和打包工具

Poerty 介绍 Poetry是在Python中用来管理依赖和打包用途的工具.它允许声明项目中的依赖,会帮你进行管理(安装/升级). 系统依赖 需要在 Python 2.7或者3.4+版本中使用.支持多平台,旨在Windows,Linux和OSX相同工作. 安装 curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 注意:要在shell环境中生效需要执行so

[转]Python打包工具

作者:Tarek Ziadé,翻译:张吉 原文:http://www.aosabook.org/en/packaging.html 转载地址:http://www.ituring.com.cn/article/19090 14.1 简介 对于如何安装软件,目前有两种思想流派.第一种是说软件应该自给自足,不依赖于其它任何部件,这点在Windows和Mac OS X系统中很流行.这种方式简化了软件的管理:每个软件都有自己独立的“领域”,安装和卸载它们不会对操作系统产生影响.如果软件依赖一项不常见的类

python打包工具distutils、setuptools分析

在上一篇博文中总结了python中导入包,安装包一条完整的线路.其中有一个有意思的知识点,安装包的方式有很多种,模块和包管理中打包,发布,安装也是值得研究的内容. python中安装包的方式有很多种: 源码包:python setup.py install 在线安装:pip install 包名(linux) / easy_install 包名(window) python包在开发中十分常见,一般的使用套路是所有的功能做一个python模块包,打包模块,然后发布,安装使用.打包和安装包就是最常见

Python学习手册之__main__,常用第三方模块和打包发布

在上一篇文章中,我们介绍了 Python 的 元组拆包.三元运算符和对 Python 的 else 语句进行了深入讲解,现在我们介绍 Python 的 __main__ 模块.常用第三方模块和打包发布.查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/10057482.html __main__大多数 Python 代码要么是导入的模块,要么是执行某些任务的脚本.但是,有时需要使一个文件既可以作为模块导入,也可以作为脚本运行. def sayHello()

各种 Python 库/模块/工具

1 算法 1.1 字符串处理 re 正则表达式的标准库. StringIO / cStringIO 以读写文件的方式来操作字符串(有点类似于内存文件). cStringIO 是 C 语言实现的,提供高性能:而 StringIO 是 Python 实现的,提供 Unicode 兼容性. chardet chardet 可以猜测任意一段文本的字符集编码.对于编码类型未知的文本,它会很有用. chardet 既可以作为模块来使用,也可以作为命令行工具来使用. 代码示例 import chardet p

Python打包工具setuptools的使用

将我们写的Python程序发布成包后,可以使其能够安装使用. 在项目上测试的时候,某些情况下,可以将Python打包,然后上传到测试服务器,安装测试. setuptools是常用的打包工具. 一个简单的setup.py文件如下: from setuptools import setup, find_packages setup( name = "my_demo", version = "0.1", packages = find_packages() ) 其中,na

python模块的打包setuptools

样例代码:新建test.py文件,内容如下: [python] view plain copy print "show me" 新建一个setup.py编译文件,内容如下: [python] view plain copy from distutils.core import setup setup(name='Myblog',  #打包后的包文件名 version='1.0', description='My Blog Distribution Utilities', author=

python 迭代器 itertools模块中常用工具函数

迭代器 itertools模块中常用工具函数,提供了接近二十个迭代器工具函数. 原文地址:https://www.cnblogs.com/bcyczhhb/p/11809842.html

Python中模块的发布与安装

模块(Module) Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块.通俗的来说,模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块. 导入模块 import: 引入具体模块,可以一次性引入多个模块,使用逗号隔开即可 eg:import modlue1,module2,module3,.....moduleN ,   使用模块中的函