首页 > 编程语言 >python~发布自己的py组件

python~发布自己的py组件

时间:2023-05-31 11:15:30浏览次数:48  
标签:__ python py pypi -- 组件 hello

你使用python写的东西,想让其它人直接使用,可以像java,.net一样,发到包管理平台即可,在python中,你可以使用twine这个工具来实现发布,就像.net里的nuget,java里的mvn deploy一样。

本地自己用

  • 添加一个hello.py的文件,里面有个say方法 ,打印字符
import sys

def say(to):
    print('hello', to)

if __name__ == '__main__':
    say(sys.argv[1])
  • 在当前目录添加setup.py文件,添加包安装的代码,包的名字和包含的模块
import setuptools
setuptools.setup(
    name='hellopkg', # 包的名字,可随意取
    py_modules=['hello'] # 对应hello.py,也是安装了包之后实际import的名字
)
  • 运行命令,安装这个包,以后可以在本机的其它项目里使用
pip install .
  • 其它项目里使用它
import hello; 
hello.say('world')

将组件包发布到远程,在其它电脑上用

组件文件结构

twine安装步骤

  1. 注册自己的pypi账号:https://pypi.org/account/register/
  2. python -m pip install --user --upgrade setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/
  3. python -m pip install --user --upgrade twine -i https://mirrors.aliyun.com/pypi/simple/
  4. 创建dist文件:python setup.py sdist
  5. 配置你的pipy的token,免得每次上传都要输入用户名密码
  • 在你的用户根目录,添加文件pypi,将下面内容放上去,注册username是你的真实名字,password是从pypi里申请的token
[pypi]
username = bfyxzls
password = pypi-AgEIcHlwaS5vcmcCJGNkMWM5ODI3LWRjYzUtNGRmZi04MTRkLW
  1. 上传你的包到互联网
twine upload dist/*

标签:__,python,py,pypi,--,组件,hello
From: https://www.cnblogs.com/lori/p/17445471.html

相关文章

  • centos7 安装python3.8.16
    升级openssl下载opensslopenssl官方下载地址:https://www.openssl.org/source/wgethttps://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.tar.gz解压tar-zxvfOpenSSL_1_1_1d.tar.gz编译安装进入openssl-OpenSSL_1_1_1dcdopenssl-OpenSSL_1_1_1d指定安装......
  • pytorch笔记
     @,torch.matmul,torch.mm:矩阵相乘,第一个矩阵的列和第二个矩阵的行维度相同      *,torch.mul:矩阵对应元素相乘,所以两个矩阵维数相同,同维矩阵torch.dot:一维的张量进行相乘再相加,结果是一个值 ......
  • python为什么要使用闭包
    为什么要使用闭包闭包避免了使用全局变量,此外,闭包允许将函数与其所操作的某些数据(环境)关连起来。这一点与面向对象编程是非常类似的,在面对象编程中,对象允许我们将某些数据(对象的属性)与一个或者多个方法相关联。一般来说,当对象中只有一个方法时,这时使用闭包是更好的选择。来看一个例......
  • python dijkstra 最短路算法示意代码
     defdijkstra(graph,from_node,to_node):q,seen=[(0,from_node,[])],set()whileq:cost,node,path=heappop(q)seen.add(node)path=path+[node]ifnode==to_node:returncost,pathfora......
  • ​Python 3 新特性:类型注解——类似注释吧,反正解释器又不做校验
    Python3新特性:类型注解Crossin上海交通大学计算机应用技术硕士95人赞同了该文章前几天有同学问到,这个写法是什么意思:defadd(x:int,y:int)->int:returnx+y我们知道Python是一种动态语言,变量以及函数的参数是不区分类型。因此我们定义函数只需要这样写就可以了:def......
  • python deque的内在实现 本质上就是双向链表所以用于stack、队列非常方便
    Howcollections.dequeworks?Cosven  前言:在Python生态中,我们经常使用collections.deque来实现栈、队列这些只需要进行头尾操作的数据结构,它的append/pop操作都是O(1)时间复杂度。list的pop(0)的时间复杂度是O(n),在这个场景中,它的效率没有deque高。那deque内部......
  • 组件
    动态编辑表格(支持自定义编辑组件)<template><divclass="edit-cell"@click="onFieldClick"><el-tooltipv-if="!editMode&&!showInput":placement="toolTipPlacement":open-del......
  • python 校验 ipv4 ipv6 格式是否正确,是否属于某网段
    使用python自带的ipaddress模块一、ipv4importipaddress#判断ipv4地址格式是否正确如:ip="192.168.1.101"ip=ipaddress.IPv4Address(ipv4)#判断subnet地址格式是否正确如:subnet="192.168.1.0/24"network=ipaddress.IPv4Network(subnet)#判断ipv4......
  • python 切片
    Python列表切片Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组。切片操作基本表达式:object[start_index:end_index:step]切片表达式包含两个":",用于分隔三个参数(start_index、end_index、step),当只有一个":"时,默认第三个参数step=1。start_index:表示起始索......
  • Python 实现进度条
    Python实现进度条1、案例一代码importsysimporttimedefprogress_bar():foriinrange(1,101):print("\r",end="")print("Downloadprogress:{}%:".format(i),"▋"*(i//2),end="")......