当前位置: 首页 > news >正文

【Python Tips】创建自己的函数包并安装进Anaconda,像引入标准包一样直接import导入

目录

一、引言

二、方法步骤

        步骤一:创建包目录结构

        步骤二:配置__init__.py文件

        步骤三:文件夹外配置setup.py文件

        步骤四:终端Pip安装 

 三、结尾


一、引言

        在编写项目代码的时候,有些自定义功能的函数是可以复用的。但是跨项目以后,不想将冗长的代码复制过来,使用import导入,跨本地文件夹又比较麻烦。因此如果能将自己写的函数创建成一个基础Python包,并将其pip安装进本地环境,那么我们以后使用起来就可以和其他基础库一样直接import了。

        本文以在目标检测任务中将检测框可视化在图片上这一功能函数为例,演示上述内容。

        visualize_box.py 实现的功能只是将框或线画到图片上,这在目标检测实验中常常要用到,可以将其写成函数黑盒形式(下第一幅图),在需要使用时(下第二幅图)导入即可。

 

二、方法步骤

        如果有一个函数想要在多个地方使用,并希望像标准包一样直接import,可以将其创建成一个 Python 包。下面是创建和使用 Python 包的步骤:

        步骤一:创建包目录结构

        将写好的函数的 .py 格式文件放在创建的文件夹下,并新建一个 __init__.py 文件。

my_functions/
├── visualize_box.py
└── __init__.py

        步骤二:配置__init__.py文件

        在__init__.py文件中写入加载的函数,可以加载 visualize_box.py 中的某一个函数,也可以全部加载。__init__.py中的代码内容如下。

# my_functions/__init__.pyfrom .visualize_box import *

         

        步骤三:文件夹外配置setup.py文件

        在存放功能函数的根目录(包含my_functions的文件目录)创建一个setup.py文件用于pip安装包。其内部代码如下。

# setup.pyfrom setuptools import setup, find_packages
# 将name改为你设置的存放库函数的文件根目录名
setup(name='my_functions',version='0.1',packages=find_packages(),
)

        步骤四:终端Pip安装 

        在终端中导航到 setup.py 所在的目录激活你要安装到的conda虚拟环境,并运行以下命令。

# cmd进入目录终端
# 激活conda虚拟环境
conda activate surya
# pip安装本地创建的库函数
pip install .

        红框显示激活的虚拟环境,蓝框显示我们安装成功。 

         可以pip list一下检测安装的成功,也可以新建一个python文件导入函数使用。

 三、结尾

        耶!成功了安装自己编写的函数,【Python Tips】用来记录在使用python中的一些小技巧,比如包的安装编写,代码书写的规范,类的使用等等,行文不分顺序,用于备忘。

http://www.lryc.cn/news/385802.html

相关文章:

  • 【Python机器学习实战】 | 基于支持向量机(Support Vector Machine, SVM)进行分类和回归任务分析
  • 备份和还原
  • Java数组的初始化方法
  • 通过分离有色和无色pdf页面减少打印费
  • c语言--指针
  • python-九九乘法表(对齐式1)
  • thinkphp单独为某个接口设置缓存
  • OpenCV视觉--视频人脸微笑检测(超详细,附带检测资源)
  • docker 搭建 AI大数据模型 --- 使用GPU
  • 面向对象, 常用类, 集合, 异常, JDBC, mysql数据库 复习
  • js取数组最大值之Math.max、Math.max.apply
  • 各种中间件的安装
  • 【Mysql】多表查询、隐式内链接、显式内连接、左外连接、右外连接
  • Linux驱动开发(三)--新字符设备驱动开发 LED驱动开发升级
  • MCU的最佳存储方案CS创世 SD NAND
  • 40岁学习java是否需要报班学习?
  • Vitis Accelerated Libraries 学习笔记--OpenCV 运行测试
  • 加固三防平板如何提高轨道交通系统的运营效率?
  • Django 靓号管理系统:实现登录功能
  • 【Solr 学习笔记】Solr 源码启动教程
  • Java中的事件驱动编程模型
  • Python 语法基础一
  • 从零开始:Spring Boot 中使用 Drools 规则引擎的完整指南
  • 工业边缘计算网关
  • 【C++ 初阶路】--- 类和对象(末)
  • bable 【实用教程】
  • Android中使用startActivityForResult启动活动
  • NineData和华为云在一起!提供一站式智能数据库DevOps平台
  • 深入解析 Redisson分布式锁看门狗机制
  • Apache Arrow 和数据的未来:开放标准推动人工智能发展