码迷,mamicode.com
首页 > 编程语言 > 详细

Python打包工具setuptools的使用

时间:2018-01-14 16:49:59      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:上传   import   脚本   nts   3.2   pac   demo   指定   points   

将我们写的Python程序发布成包后,可以使其能够安装使用。

在项目上测试的时候,某些情况下,可以将Python打包,然后上传到测试服务器,安装测试。

setuptools是常用的打包工具。

一个简单的setup.py文件如下:

from setuptools import setup, find_packages
setup(
    name = "my_demo",
    version = "0.1",
    packages = find_packages()
)

其中,name是包的名字,version是版本。

给packages指定find_packages(),意为包括在本目录下的所有Python包。

什么是Python包呢?在Python 3.2及更早版本中,只有包含__init__.py文件才能识别为Python包。

那要是不想包含某些包呢?给find_packages指定exclude参数即可。

那如果我们想将数据文件也添加进来呢?有以下方法(以下:package_data:数据文件,即一些txt或者dat文件 ):

方法一

在使用版本控制的情况下(先包含全部数据文件,再指定去除):

packages = find_packages(‘src‘),  # 包含所有src目录下的package
    package_dir = {‘‘:‘src‘},   

    include_package_data = True,    # 包含所有版本控制的内容

    # 排除所有 README.txt
    exclude_package_data = { ‘‘: [‘README.txt‘] }

方法二(直接指定包含哪些数据文件):

packages = find_packages(src),  # 包含所有src中的包
    package_dir = {‘‘:src},   # 告诉distutils包都在src下

    package_data = {
        # 如果包中含有.txt文件,则包含它
        ‘‘: [*.txt],
        # 包含demo包data文件夹中的 *.dat文件
        demo: [data/*.dat]
}

其他的一些常用参数:

zip_safe,指定boolean选项,控制项目能否直接通过压缩文件安全安装。

install_requires:安装依赖

entry_points: 创建控制台脚本 详情

等等

可以使用命令:

python setup.py bdist_egg

来创建egg文件,egg文件可以跨平台,便于使用pip安装。

也可以使用命令:

python setup.py sdist

来创建源发布版本

其他一些setup.py文件的参数选项
 python setup.py build     #编译
 python setup.py install 
   #安装
 python setup.py sdist 
     #制作分发包
 python setup.py bdist_wininst    #制作windows下的分发包
 python setup.py bdist_rpm

 

参考:

https://setuptools.readthedocs.io/en/latest/setuptools.html

 

Python打包工具setuptools的使用

标签:上传   import   脚本   nts   3.2   pac   demo   指定   points   

原文地址:https://www.cnblogs.com/geeklove01/p/8280939.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!