如何将自己的python代码发布在pip install给别人使用你知道吗
作者:千里足行,始于足下 发布时间:2022-07-19 20:36:21
目录
1.编写模块结构
1.1 git创建空文件
1.2 编写包功能函数
1.3 包必备函数
1、README.md文件是在git上生成的说明项目的文件
2、setup.py文件内容
3、liciense.txt文件内容
2. 生成模块
2.1 提前安装需要的库
2.2 生成上图的1-3文件
3. 安装本地包
4. 本地测试
5. 上传到pypi
6. 安装上传的包
总结
1.编写模块结构
1.1 git创建空文件
在 阿里云git上创建一个空项目yuesf08, 项目属性为public, 并下拉到本地,如下图所示git/yuesf08。
1.2 编写包功能函数
yuesf08文件下创建包yuesfpug, 第一个init函数必须存在,第二个是用户编写的函数。
# init.py
# -*- coding:utf-8 -*-
from . import add_num
# add.num.py
# -*- coding:utf-8 -*-
def add_num(a,b):
return a+b
1.3 包必备函数
1、README.md文件是在git上生成的说明项目的文件
2、setup.py文件内容
from distutils.core import setup
import setuptools
packages = ['yuesfpug']# 唯一的包名
setup(name='yuesfpug',
version='1.0',
author='yuesf',
packages=packages,
package_dir={'requests': 'requests'},)
3、liciense.txt文件内容
Copyright © 2021 yuesf Authors. All Rights Reserve.
Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
2. 生成模块
2.1 提前安装需要的库
pip install twine
pip install wheel
2.2 生成上图的1-3文件
cmd一定要进入路径D:\yuesf\shangfei\git\yuesf08
# 1. 编译
python setup.py build
# 2. 生成发布压缩包:
python setup.py sdist
# 3. 生成网络发布包wheel文件:
python setup.py bdist_wheel
3. 安装本地包
cmd一定要进入路径D:\yuesf\shangfei\git\yuesf08\dist
pip install yuesfpug-1.0-py3-none-any.whl
4. 本地测试
通过测试我们发现,add_num.py实际上可以看作一个模块,里面的函数也是add_num,所以调用是add_num.add_num(a,b)
5. 上传到pypi
cmd一定要进入路径D:\yuesf\shangfei\git\yuesf08\dist
在pypi官网注册,上传代码时填写pypi账号、密码。
twine upload dist/*
6. 安装上传的包
先删除本地安装的包,再安装上传的包,这个时候的路径是C盘。
来源:https://blog.csdn.net/weixin_43585712/article/details/119891871
猜你喜欢
- 本文实例为大家分享了微信小程序实现图片上传功能的具体代码,供大家参考,具体内容如下前端:微信开发者工具后端:.Net服务器:阿里云这里介绍微
- 什么是.netMicrosoft® .NET 是 Microsoft XML Web services 平台。XML Web
- 1. 确认已经安装了NT/2000和SQL Server的最新补丁程序,不用说大家应该已经安装好了,但是我觉得最好还是在这里提醒一下。2.
- 问题描述因为项目强制关闭,但是服务还在运行,导致重新运行项目时候 提示地址已经使用(端口被占用)/usr/bin/python3.5 pyt
- 前言使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__方法在类的一个对象被建立时,马上
- fso对象CreateTextFile方法调用时可能会报“无效的过程调用或参数”错误,在使用ASP生成静态页面时,如果传入的字符串参数编码为
- 在Dreamweaver 4.0中,我们就已接触了模板与库的概念,知道它们是批量生成风格类似的网页的好工具。如今在Dreamweaver M
- 一共4个页面:form.asp; chk.asp; num.asp; count.asp得到一个随即数字。加密
- 在ASP中,为什么有时候刷新页面后,重新执行ASP代码时就连不上数据库了?这种情况一般发生在动态IP分配中,由于ASP连接数据库是定时的,默
- 这几天看了篇叫"Penetration: from application down to OS (Oracle)"的文
- 10月9日是国庆中秋黄金周后上班的第一天,当天近8亿人次逛淘宝,即淘宝网每分钟完成43.47万元的交易,创下国内网购单天交易最高纪录。从销售
- asp过滤留言中脏话的代码例子<!--#include file="../conn/dbconn1.asp"--&
- 这篇文章主要介绍了python列表推导式入门学习解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- 序 号前 缀使用的变量/范围或数据类型1a or arrArray2b or blnBoolean3bytByte4
- 看网络小说一般会攒上一波,然后导入Kindle里面去看,但是攒的多了,机械的Ctrl+C和Ctrl+V实在是OUT,所以就出现了此文。其实P
- Expression定义 IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javascript表达式关联起来,这
- 今天在看框架的时候无意间看到了document.compatMode,经过一番资料查找,终于搞懂了。文档模式在开发中貌似很少用到,最常见的是
- 其主要的优点便是无需再手工添加大量的信息了,可以指定对某一个站信息的截取进行批量录入,达到省时省力的目的。与其单纯的ASP小偷程序不同的是:
- 最近一直在做Dnn模块的开发,过程中碰到这么一个问题,需要同时插入N条数据,不想在程序里控制,但是SQL Sever又不支持数组参数.所以只
- 前言:由于公司使用钉钉,之前告警都是使用邮箱,但是这种协同效率比较低,所以调用钉钉机器人来实现实时告警。创建机器人:创建钉钉群,然后添加群机