setuptools是python标准的打包分发工具,它可以将我们编写的python项目打包安装,这样其他同事就可以像调用标准库或python第三方库那样直接使用;也可以将项目上传到Pypi供更多人的下载安装使用。

1. 项目结构

项目结构

这是一个打包构建好的一个目录结构。构建前的结构包含:demo、docs、setup.py ,其中主要的就是demo文件夹和setup.py。

2.setup文件说明

setup.py定义了打包程序的一些相关信息

import os, shutilfrom setuptools import setup, find_packages#移除构建的build文件夹CUR_PATH = os.path.dirname(os.path.abspath(__file__))path = os.path.join(CUR_PATH, 'build')if os.path.isdir(path):    print('INFO del dir ', path)    shutil.rmtree(path)setup(    name = 'demo', #应用名    author = 'selfeasy',    version = '0.1',  #版本号    packages = find_packages(),  #包括在安装包内的Python包    include_package_data = True, #启用清单文件MANIFEST.in,包含数据文件    exclude_package_data = {'docs':['1.txt']},  #排除文件    install_requires = [#自动安装依赖        'Flask>=0.10',    ],)

3. 打包分发流程

3.1 打包

python setup.py bdist_egg

该命令会在当前目录下的”dist”目录内创建一个”egg”文件,名为”MyApp-1.0-py2.7.egg”。文件名格式就是”应用名-版本号-Python版本.egg”,我本地Python版本是2.7。同时你会注意到,当前目录多了”build”和”MyApp.egg-info”子目录来存放打包的中间结果。

3.2 安装

python setup.py install

该命令会将当前的Python应用安装到当前Python环境的”site-packages”目录下, 这样其他程序就可以像导入标准库一样导入该应用的代码了。

4.打包方式

打包构建和安装方式有多种,可以选择适合自己的。

python setup.py --help#查看setup文件的配置信息可以包含哪些
python setup.py --help-commands# 查看程序打包和分发可以使用的命令有哪些

python 查看当前目录_「Python」打包分发工具setuptools学习相关推荐

  1. Python打包分发工具setuptools简介

    Python打包分发工具setuptools 通过这个工具,可以打包安装插件,并且还可以发布到PyPI上面,具体参考: 1.http://python.jobbole.com/87240/ 2.htt ...

  2. python数学函数_「分享」关于Python整理的常用数学函数整理

    原标题:「分享」关于Python整理的常用数学函数整理 1.函数说明 abs(number)返回数字的绝对值,如abs(-10)返回10 pow(x,y[,z]) 返回x的y次幂(所得结果对z取模), ...

  3. python断点调试_「Python调试器」,快速定位各种疑难杂症!!!

    在很多的编辑器其实都带着「调试程序」的功能,比如写 c/c++ 的 codeblocks,写 Python 的 pycharm,这种图形界面的使用和显示都相当友好,简单方便易学,这个不是我这篇文章要讲 ...

  4. python决策树可视化_「决策树」| Part3—Python实现之可视化

    文章首发于微信公众号:AlgorithmDeveloper,专注机器学习与Python,编程与算法,还有生活. 1.前言 「决策树」| Part2-Python实现之构建决策树中我们已经可以基于给定数 ...

  5. python生成器单线程_「Python异步编程-3」协程、生成器、yield 的联系

    异步编程的基础在于理解协程,而协程的基础在于理解生成器,而生成器的基础在于理解yield关键字,下面就来说说这几个概念. 什么是yield关键字? 相当于return关键字,在每次next(),或者f ...

  6. 查看器_「图」Firefox 70将启用全新证书查看器 允许关闭画中画图标

    在今天发布的Firefox 70每日构建版中,Mozilla在"about:certificate"页面新增了"证书查看器"窗口,以便于更好的在Firefox浏 ...

  7. pep8 python 编码规范_「原创」「python自学笔记」python编码规范

    编码规范是学习一个语言前必须要了解的. Python采用PEP8作为编码规范,PEP是Python Enhancement Proposal(Python 增强建议书)的缩写,8代表的是Python代 ...

  8. python画图包_「Python量化」股票分析入门

    目前,获取股票数据的渠道有很多,而且基本上是免费的,比如,行情软件有同花顺.东方财富等,门户网站有新浪财经.腾讯财经.和讯网等.Python也有不少免费的开源api可以获取交易行情数据,如pandas ...

  9. python 回车字符_「答案」python每日一题20201107

    用python输出 如下9*9 乘法口诀表. #####方法一#####for i in range(1,10): for j in range(1,i+1): print("%2d*%2d ...

最新文章

  1. ubuntu中文wiki
  2. 揭秘数字行为:快速地多次点击
  3. php imagefill,PHP 图像填充 imagefill、imagefilledarc 与 imagefilledrectangle() 函数
  4. 在Ubuntu系统中安装Docker
  5. OpenG 轮廓检测
  6. Linux环境下Android开发环境的搭建
  7. 页面布局与编写(续2)
  8. CSS基础(part6)--CSS的颜色表示
  9. [Gamma阶段]展示博客
  10. java线程基础_Java多线程基础
  11. 算法稳定币项目Basis Cash将于2月7日启动V2迁移计划
  12. Windows自动关机命令脚本
  13. Kali渗透测试之五社会工程学
  14. 阿里云服务器使用freessl配置免费证书Nginx
  15. 吉他入门:吉他音阶训练入门教程(三)
  16. 2023年天津中德应用技术大学专升本机械电子工程专业考试大纲
  17. PS进阶篇——如何PS软件给图片部分位置打马赛克(四)
  18. 关于微信 init接口返回的Count和webwxbatchgetcontact post请求的参数Count
  19. 求最大公约数的几种常见方法(C语言)
  20. Poseidon Foundation:利物浦努力至2020年底成为首个“气候友好型”城市

热门文章

  1. day5-shelve模块
  2. 03-类与对象——课后动手动脑
  3. PerfMon常用计数器
  4. 怎样推断两个日期在一周内
  5. javaScript获取url中的参数
  6. Ruby中的%表示法
  7. UIView编程体验(一)
  8. IHttpHandler与IHttpHandlerFactory的区别一例
  9. vue-cli脚手架的.babelrc文件
  10. javascript --- [express+ vue2.x + elementUI]登陆的流程梳理