python附加篇setup打包篇
心得: 过去的几个月里,有忙有闲,慢慢的忘记了自己的成长,在忙碌中使得自己成长变得缓慢,之后的每一天加油,保持自律,保持学习积极的态度。
一、为什么要打包
在多人协作的项目中,往往又可能会依赖他人库,或者别人调用你的代码,或者服务器部署代码,环境配置等等,搭建环境往往需要花费很长的时间来,所以很有必要对我们的完成的项目打出一个外包,别人使用时,往往只需要一键安装,比如已经可以使用的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包
- 打包项目文件包含静态文件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打包篇相关推荐
- android 乐固渠道打包,Jenkins奇技淫巧 — Python乐固,多渠道打包篇(Android自动化构建)...
Jenkins奇技淫巧 - 安装篇(mac) Jenkins奇技淫巧 - 配置篇 Jenkins奇技淫巧 - 安全篇 Jenkins奇技淫巧 - 发送邮件篇 Jenkins奇技淫巧 - 全局变量篇 J ...
- C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码...
C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 原文:C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 前言 系列 ...
- Python开发【第六篇】:模块
Python开发[第六篇]:模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一 ...
- anaconda的安装和使用(管理python环境看这一篇就够了)
anaconda的安装和使用(管理python环境看这一篇就够了) 前言 一.Anaconda是什么? 二.Anaconda安装 三.Anaconda使用教程 四.pycharm使用anaconda创 ...
- python语言自学教程-3D图示Python标准自学教程入门篇
内容简介: Python入门篇教程从最基础的计算机发展史.Python的来源与发展历史开始讲起: 依次讲解python变量与表达式.数据类型.运算符.流程控制语句等,末尾通过课堂练习.课后作业以及微型 ...
- 自学python转行-强烈建议|转行Python最好看一下这篇文章
原标题:强烈建议|转行Python最好看一下这篇文章 一 转行要趁早 上面类似的问题群里还有很多,我请了一些不同岗位的嘉宾来给大家分享经验,下面谈谈我的感悟: 1).转行如爬树 转行真的要趁早,年轻的 ...
- 编程入门python语言是多大孩子学的-什么是少儿Python编程?这一篇就够啦!
原标题:什么是少儿Python编程?这一篇就够啦! 少儿Python编程大家都了解多少呢? 由于少儿编程学习的重要性被广大家长朋友们所知,再加上近几年来我国对少儿编程教育的重视,现在很多的家长朋友们都 ...
- Python之路【第一篇】:Python简介和入门
Python之路[第一篇]:Python简介和入门 Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗 ...
- 由浅入深,走进Python装饰器-----第五篇:进阶--类装饰类
上一篇:由浅入深,走进Python装饰器-----第四篇:进阶--函数装饰类 类装饰器 @类 类 4.1 用类装饰器来扩展原类( 增加属性和方法 ) # 用类装饰器来扩展原函数, 通过对象函数化触发_ ...
最新文章
- Andorid之网络通信框架Volley使用和总结
- idea 自动生成mybaits_IDEA利用mybatis-generator自动生成dao和mapper
- phpcms点赞:表情点击(的统计功能) - 代码剥离篇
- 中国联通加快数据中心建设:全网机架数量超过32万架
- 如何将Tomcat注册为系统服务
- Python安装注意事项
- 支付宝支付即时到账接口在ThinkPHP商城中的应用(转载)
- 天气预报查询数据接口、实时天气、未来24小时、7天/15天预报
- 空调冷凝水管径选用原则
- ADAS/AD控制器模块开发13 - Feature开发之LDWLKA
- c语言输入奇数n输出一半棱形,c语言输出菱形
- 笔记本wife功能丢失,网络适配器代码56错误
- python n个list如何组成矩阵_使用Python并行框架Dask处理和分析大规模时空数据
- matlab 类似宏定义,比较全面的宏定义解析
- 国家一级建造师——工程经济——第一章——第二节
- 《深入理解Linux内核》-3.3. 进程切换
- 《临时笔记》一些深度学习中的英文术语的纪录
- C#基础 Hashtable 修改键所对应的值
- 多邻国-英语学习笔记
- 整车控制器(VCU)