首页 > 编程语言 >【WXSC】python自定义包

【WXSC】python自定义包

时间:2022-10-05 21:12:13浏览次数:90  
标签:WXSC Language 自定义 python setup py add import

沉淀自己的一些脚本和算法,托管在github或gitee上;使用的时候,直接pip安装即可,不用每次都去拷贝源码,修改源码

1. 构建一个本地包

  • setup.py文件 必须
  • MANIFEST.in文件: 可选 将非python的数据/配置文件打包到本地包里
  • scripts文件夹: 可选 生成一些命令行脚本

其中setup.py文件是必须的,下面两个文件是辅助用途

1.1 如何构建一个包

创建一个名为demo的安装包,里边包含一个add的算法
demo

1.创建如上述结构的文件和文件夹
2.生成setup.py文件

from setuptools import find_packages, setup

setup(name='add',  # 包名
      version='0.0.1',  # 版本号
      description='add function',
      long_description='',
      author='noname',
      author_email='[email protected]',
      url='https://gitee.com/cvding/package.name.git',
      license='',
      install_requires=['numpy>=1.4', 'matplotlib'],
      extras_require={},
      dependency_links=[
          "https://pypi.tuna.tsinghua.edu.cn/simple",
          "http://mirrors.aliyun.com/pypi/simple"
      ],
      classifiers=[
          'Intended Audience :: Developers',
          'Operating System :: OS Independent',
          'Natural Language :: Chinese (Simplified)',
          'Programming Language :: Python',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.2'
          'Programming Language :: Python :: 3.3',
          'Programming Language :: Python :: 3.4',
          'Programming Language :: Python :: 3.5',
          'Topic :: Utilities'
      ],
      keywords='',
      packages=find_packages('src', exclude=["examples", "tests", "project"]),  # 必填
      package_dir={'': 'src'},  # 必填
      include_package_data=True,
      scripts= [
      ],
)
  1. 生成add.py文件
def add(x, y):
    return x+y
  1. 导入add()函数 修改src/add/__init__.py文件
from .add import add

到此包已经构建完成

1.2 如何使用add包

  1. 离线使用
# add root director(include setup.py)
$cd add
$python setup.py
$pip install dist/add-0.0.1.tar.gz
from add import add

print(add(1, 2))
# output: 3
  1. 在线使用git管理
  • 首先上传到github或gitee
  • pip install git+https://github.com/xxx/add.git
from add import add

print(add(1, 2))
# output: 3
  1. 在线使用pypi

包名最好特殊一点

  • pypi上注册一个账号
  • 在setup.py所在目录执行python setup.py register
  • 使用python setup.py sdist生成dist/add-0.0.1.tar.gz
  • 使用python setup.py upload上传包
  • 在任意地方使用pip install add
from add import add

print(add(1, 2))
# output:3

1.3 如何加入可执行脚本

  1. 建立脚本
#!/usr/bin/env python3

import argparse
from add import add

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('-a', type=int, '--anum')
    parser.add_argument('-b', type=int, '--bnum')
    
    args = parser.parse_args()
    
    print(add(args.anum, args.bnum))
  1. 修改setup.py
# setup.py

# ....
scripts= ['scripts/add.parse.py']
# ....

  1. 使用脚本add.parse.py
# 安装好add库,在terminal中使用脚本
add.parse.py -a 1 -b 2
# output: 3

1.4 如何加入依赖数据(配置文件,系统字体等资源)

  1. 在src/add文件夹新建data文件夹(也可以是其他名称)
  2. 修改MANIFEST.in文件
# 1.单个导入:将data文件夹中的数据文件全部导入包中
include src/add/data/*
# 2.循环导入:将project文件夹中的文件全部导入到包中
# recursive-include src/add/project *.*

标签:WXSC,Language,自定义,python,setup,py,add,import
From: https://www.cnblogs.com/miracled/p/qu-sou-cang-ji-hua-zi-ding-yi-bao.html

相关文章

  • OpenCV-Python-C++ 全套视频详讲
    更多资料请关注公众号:计算机视觉与图形学实战​​2021OpenCV-C++课程实践(理论与实践)​​​​2021年OpenCV-Python从入门到实战全套课程(附带课程课件资料+课件笔记)​​​​......
  • C++/Python混合编程
    以C++为底层基础,Python作为上层建筑,共同搭建起高性能、易维护、可扩展的混合系统。Python本身就有C接口,可以用C语言编写扩展模块,把一些低效耗时的功能改用C实现......
  • Python语法之类和对象
    这篇文章给大家介绍一下类和对象,类和对象是面向对象编程的核心概念。Python中的类,和我们生活的“物以类聚”类似,都是包含了这一类别内都具备的一些特征。Python中的类是......
  • python基础知识回顾
    与用户交互关键字input('需要用户输入的内容')在python2中,需要自己定义input输入的数据类型,在python3统一处理为字符串print('打印的内容)print自带换行......
  • 【C语言_15】自定义函数和math库函数详解篇!
    一.函数的概念1.什么是函数?函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码。函数可以提前保存起来,并给它起一个独一无二的名......
  • Python 使用smtplib、zmail或yagmail发送邮件
    Python中,可以使用通过代码方式发送邮件,本文主要介绍使用smtplib、zmail和yagmail三种方法发送邮件,以及相关的示例代码。原文地址:Python使用smtplib、zmail或yagmail发送......
  • 对比python学julia(第四章:人工智能)--(第一节)OpenCV编程初步(3)
    1.4. 人脸检测(续上)3.检测视频中的人脸在VSCode环境中,新建一个空白源文件,以detect_video.jl作为文件名保存到项目文件夹中,然后编写程序检测视频流......
  • Python5-
    实战01(打印象棋口诀)1str1='马走日'2str2=','3str3='象走田'4str4=','5str5='车走直线炮翻山'6str6=','7str7='士走斜线护将边'8st......
  • Python学习(三)win7 下添加python环境变量
    我的电脑--属性--高级系统设置;环境变量--新建,变量名:“PYTHONHOME”,变量值:python的安装路径;找到Path--编辑,在变量值的最后边添加“;%PYTHONHOME%;%PYTHONHOME%\Scrip......
  • Windows下使用Visual Code编写并编译基于C的Python插件
    环境本地Windows10,VisualCode,Pyhton3.10Python的安装路径d:/develop/python/Python3101、C代码fputsmodule.c#include<Python.h>//https://realpython.com/bui......