心得: 过去的几个月里,有忙有闲,慢慢的忘记了自己的成长,在忙碌中使得自己成长变得缓慢,之后的每一天加油,保持自律,保持学习积极的态度。

一、为什么要打包

在多人协作的项目中,往往又可能会依赖他人库,或者别人调用你的代码,或者服务器部署代码,环境配置等等,搭建环境往往需要花费很长的时间来,所以很有必要对我们的完成的项目打出一个外包,别人使用时,往往只需要一键安装,比如已经可以使用的sklearn包,numpy 等等 pip install sklearn ,安装使用都很方便。

二、快速开始

安装wheel

pip install wheel

新建项目目录:

setup.py

from setuptools import setup, find_packagessetup(name='printtest',version='1.0',packages=find_packages(),
)

test.py

def test123():print('print test')return "hello world"

开始打包,切换到terminal 执行python setup.py bdist_wheel

同级目录下会生成打包后的文件:

lib下是安装后packages显示结构,dist下的.whl可以直接pip install dist/..whl进行安装

安装调用:
导入的是以打包前的目录结构进行导入调用,此项目是pro/test.py test123() 函数

三、常用参数以及打包技巧

setup函数各参数详解:
>>python setup.py --help--name              包名称--version (-V)      包版本--author            程序的作者--author_email      程序的作者的邮箱地址--maintainer        维护者--maintainer_email  维护者的邮箱地址--url               程序的官网地址--license           程序的授权信息--description       程序的简单描述--long_description  程序的详细描述--platforms         程序适用的软件平台列表--classifiers       程序的所属分类列表--keywords          程序的关键字列表--packages  需要打包的目录列表--py_modules  需要打包的python文件列表--download_url  程序的下载地址--cmdclass  --data_files  打包时需要打包的数据文件,如图片,配置文件等 data_files=[("",[pro/t.txt])]--scripts  安装时需要执行的脚步列表 scripts = ['bin/fcon']setup.py打包命令各参数详解:
>>python setup.py --help-commands--python setup.py build     # 仅编译不安装--python setup.py install    #安装到python安装目录的lib下--python setup.py sdist      #生成压缩包(zip/tar.gz)--python setup.py bdist_wininst  #生成NT平台安装包(.exe)--python setup.py bdist_rpm #生成rpm包
  1. 打包项目文件包含静态文件csv,png,json等

setup.py

from setuptools import setup, find_packagessetup(name='printtest',version='1.0',description='hello world',license='Apache',author="tian",author_email="tianjian361@163.com",include_package_data=True,# 自动包含包内所有受版本控制(cvs/svn/git)的数据文件packages=find_packages(include=["pro", "pro.*"]),# 需要处理的包目录(包含__init__.py的文件夹)和setup.py同一目录# 下搜索各个含有 init.py的包,也可以指定find_packages(),代表打包所有文件package_data={'': ['*.json', '*.csv']},# 也可以用做打包非py文件,可以使用正则匹配的方式,但文件目录必须包含__init__.pydata_files=[('pro', ['pro/data/t.json', 'pro/data/t.csv'])],# 打包时非py文件存在时,必须得具体指定某个文件的相对路径python_requires='>=3.6.0',install_requires=['decorator==4.3.0'],# 定义依赖哪些模块 如果不存在自动下载,存在则跳过zip_safe=False,extras_require={}
)

python附加篇setup打包篇相关推荐

  1. android 乐固渠道打包,Jenkins奇技淫巧 — Python乐固,多渠道打包篇(Android自动化构建)...

    Jenkins奇技淫巧 - 安装篇(mac) Jenkins奇技淫巧 - 配置篇 Jenkins奇技淫巧 - 安全篇 Jenkins奇技淫巧 - 发送邮件篇 Jenkins奇技淫巧 - 全局变量篇 J ...

  2. C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码...

    C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 原文:C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 前言 系列 ...

  3. Python开发【第六篇】:模块

    Python开发[第六篇]:模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一 ...

  4. anaconda的安装和使用(管理python环境看这一篇就够了)

    anaconda的安装和使用(管理python环境看这一篇就够了) 前言 一.Anaconda是什么? 二.Anaconda安装 三.Anaconda使用教程 四.pycharm使用anaconda创 ...

  5. python语言自学教程-3D图示Python标准自学教程入门篇

    内容简介: Python入门篇教程从最基础的计算机发展史.Python的来源与发展历史开始讲起: 依次讲解python变量与表达式.数据类型.运算符.流程控制语句等,末尾通过课堂练习.课后作业以及微型 ...

  6. 自学python转行-强烈建议|转行Python最好看一下这篇文章

    原标题:强烈建议|转行Python最好看一下这篇文章 一 转行要趁早 上面类似的问题群里还有很多,我请了一些不同岗位的嘉宾来给大家分享经验,下面谈谈我的感悟: 1).转行如爬树 转行真的要趁早,年轻的 ...

  7. 编程入门python语言是多大孩子学的-什么是少儿Python编程?这一篇就够啦!

    原标题:什么是少儿Python编程?这一篇就够啦! 少儿Python编程大家都了解多少呢? 由于少儿编程学习的重要性被广大家长朋友们所知,再加上近几年来我国对少儿编程教育的重视,现在很多的家长朋友们都 ...

  8. Python之路【第一篇】:Python简介和入门

    Python之路[第一篇]:Python简介和入门 Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗 ...

  9. 由浅入深,走进Python装饰器-----第五篇:进阶--类装饰类

    上一篇:由浅入深,走进Python装饰器-----第四篇:进阶--函数装饰类 类装饰器 @类 类 4.1 用类装饰器来扩展原类( 增加属性和方法 ) # 用类装饰器来扩展原函数, 通过对象函数化触发_ ...

最新文章

  1. Andorid之网络通信框架Volley使用和总结
  2. idea 自动生成mybaits_IDEA利用mybatis-generator自动生成dao和mapper
  3. phpcms点赞:表情点击(的统计功能) - 代码剥离篇
  4. 中国联通加快数据中心建设:全网机架数量超过32万架
  5. 如何将Tomcat注册为系统服务
  6. Python安装注意事项
  7. 支付宝支付即时到账接口在ThinkPHP商城中的应用(转载)
  8. 天气预报查询数据接口、实时天气、未来24小时、7天/15天预报
  9. 空调冷凝水管径选用原则
  10. ADAS/AD控制器模块开发13 - Feature开发之LDWLKA
  11. c语言输入奇数n输出一半棱形,c语言输出菱形
  12. 笔记本wife功能丢失,网络适配器代码56错误
  13. python n个list如何组成矩阵_使用Python并行框架Dask处理和分析大规模时空数据
  14. matlab 类似宏定义,比较全面的宏定义解析
  15. 国家一级建造师——工程经济——第一章——第二节
  16. 《深入理解Linux内核》-3.3. 进程切换
  17. 《临时笔记》一些深度学习中的英文术语的纪录
  18. C#基础 Hashtable 修改键所对应的值
  19. 多邻国-英语学习笔记
  20. 整车控制器(VCU)

热门文章

  1. 嘉明的Java学习(6)之Scanner与if...语句
  2. Windows 8.1笔记本电源已接通未充电怎么办?
  3. 德鲁克的二十条管理格言
  4. 如何把文字拆开形成多行
  5. 一建今年大放水,23年会不会难度剧增?
  6. 嵌入式物联网技术栈【协议篇】OPC UA协议
  7. 微信浏览器禁止app下载链接怎么办怎么解决
  8. 功能性农业两会档案-国稻种芯-李喜贵:微量元素农业主导
  9. 为什么蓝牙产品要申请BQB认证?
  10. 微信如何实现自动跳转到用其他浏览器打开指定页面下载APK的方案