怎么让自己写的代码容易使用

使用setuptools能让事情事半功倍,首先我们的代码,如果都是python写的,假设放在code文件夹里,我们需要在code里面放一个__init__.py文件,然后在code外一层的文件夹下创建setup.py文件,最为简单的内容如下:

from setuptools import setupsetup(name = 'MyTools',        # 应用名version = '0.1',         # 版本号packages = ['code']   # 包括在安装包内的python包
)

packages中需要传入的是包含有__init__.py的文件夹路径,一个包含__init__.py的文件夹被认为是一个python包
可以使用 find_package(include=XXX, exclude=XXX )来自动寻找包,它会返回包含__init__.py的当前路径下的所有包,并返回给packages
更多的语法细节可以参考博客:https://www.cnblogs.com/gqtcgq/p/7247101.html

最后,简单的写好了这个代码后,可以使用python setup.py build来获得安装准备文件:
这样会在当前文件夹下额外生成:
(1)MyTools.egg-info: egg相关文件,包含了包的依赖等等消息
(2)build: 这个是build后生成的文件,如果你的代码有C的,它生成的so文件也在这里
(3)dist: 这里是版本信息

安装自己的包

python setup.py install
这样我们的包就会被安装到本地用户的隐藏路径下,它也在当前的anaconda的env环境中。可以通过conda list查看到。
例如我安装的一个库的路径:
/home/robin/.local/lib/python3.6/site-packages/deep_hough-0.0.0-py3.6-linux-x86_64.egg

setuptools打包安装工具的使用相关推荐

  1. 【新】使用setuptools打包Python项目

    如何使用setuptools打包Python项目 如何使用setuptools打包Python项目 一.准备 二.项目结构 三.简单打包 3.1 文件内容 3.2 打包项目 3.3 安装测试 四.自定 ...

  2. 软件打包安装工具第一篇(安装包原理)

    软件安装程序原理代码编写 1.前言 2.要求 2.1.安装程序有一个安装界面(支持图片和动画) 2.2.添加软件许可界面 2.3.添加软件信息界面 2.4.添加支持安装路径 2.5.添加了安装进度界面 ...

  3. 软件打包安装工具第四篇(打包工具原理及技术)

    打包工具原理及技术 1.MV模型 2.打包原理 2.1.方案一 2.2.方案二 3.结束语 1.MV模型 打包工具采用的是MV模型,采用此模型的原因是因为打包界面中打包列表.文件列表以及属性面板显示的 ...

  4. python 自定义命令(entry_points)以及开发第三方库setuptools打包

    突然想知道类似django-admin.you-get这种不用Python执行的自定义命令怎么实现的的,查了一下setuptools打包时配置一下entry_points可以实现. 工程结构 setu ...

  5. django项目用 setuptools打包构建(待更新)

    2019独角兽企业重金招聘Python工程师标准>>> 打包主要的功能就是把一些不需要部署的文件剔除,把需要部署的文件直接压缩打包. 这里还想集成一个配置文件模板生成配置文件的过程, ...

  6. 用python打造自己的SDK--使用setuptools打包安装

    有时候自己写了一个Python的包,想在不同的项目中使用,最简单粗暴的方法是直接复制到项目所在目录下,但是这样子每个项目下都得复制一次,能不能像pip安装的那样子直接放到系统的路径下呢? 方法一 简单 ...

  7. Python使用setuptools打包自己的分发包并使用举例(setup.py)

    Python文件制作tar.gz包(源码包) setup.py文件的编写 setup.py中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出所有的pack ...

  8. Inno一个程序打包安装工具

    比较轻量级,挺好用.打包脚本看起来也清晰. ; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!#define MyAppName ...

  9. Python的setuptools详解【3】打包wheel并提交给pypi

    一.说明 上文说,如何用setup.py打包成egg包,继而又有find_package()函数用法,本篇专门介绍,如何用setuptools打包成不同的软件包. 首先需要保证你有最新版的setupt ...

最新文章

  1. (mfc)将字符串中的字符逐个按行输出_C语言中字符串输入输出
  2. js数组的sort排序详解
  3. Codeforces Round #476 (Div. 2) C. Greedy Arkady
  4. 电脑常见故障排除_附近上门维修洗衣机不脱水|洗衣机常见故障维修
  5. TypeError:Joi.validate is not a function 解决办法
  6. 关于程序员清明节假期延长至七天的通知
  7. linux pt 客户端,下载工具系列——rTorrent (轻量级优秀BT/PT客户端)
  8. Dubbo metrics学习总结
  9. 【python】程序结构
  10. HyperLynx 仿真
  11. 华为鸿蒙文件管理器通用版,华为文件管理器官方下载_华为文件管理器最新版下载v10.6.2.300 - 数码资源网...
  12. gpgpu_GPGPU Java编程
  13. linux的mount bind命令
  14. vacuum 的描述(vacuum age )
  15. 【艾思软件】微信小程序开发报价方案模版
  16. 编程哲学之C#篇:01——创世纪
  17. 【table-4】带斑马纹的表格样式、动态更改表格中某一个单元格字体颜色
  18. linux 系统部署raid 5,CentOS 7.4搭建RAID5及测试实例
  19. 网址格式化:截取域名
  20. win11安装pytorch-gpu遇到的坑

热门文章

  1. java模拟器分辨率_创建AVD 模拟器大小/分辨率 调整
  2. 点击滑动(slideToggle)
  3. 十款超高人气FTP客户端软件横评
  4. 生存感悟:只有偏执狂才能成功
  5. etc微信充值显示服务器错误,etc微信
  6. lua在魔兽争霸编辑中的使用
  7. 为什么海归金融就业这么难?
  8. 网页前端设计-作业二(CSS)
  9. 用地图说话 在商业分析与演示中运用Excel数据地图 全彩
  10. android老人机模式实现,基于Android平台的手机老人用户助理系统的设计与实现