如何将自己的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


猜你喜欢
- CSV文件是一种纯文本文件,它使用特定的结构来排列表格数据。CSV文件内容看起来应该是下面这样的:column 1 name,column
- 来自 Nine Javascript Gotchas , 以下是JavaScript容易犯错的九个陷阱。虽然不是什么很高深的技术问题,但注意
- 本文实例讲述了django框架cookie和session用法。分享给大家供大家参考,具体如下:首先知道http协议http协议它是无状态的
- Expires 属性 Expires 属性指定了在浏览器上缓冲存储的页距过期还有多少时间。如果用户在某个页过期之前又回到此页,就会显示缓冲区
- PayPal支付功能其实一直在更新文档和接口,这里说的是一个简单的支付功能大概流程如下1,在网站的结账页面,设置一个提交到PayPal网站的
- 问题的提出相传古时候有个退休的程序员,在家闲来无事,决定修习书法之道。第一日,备好笔墨纸砚,便挥毫写下一行大字:“Hello World”。
- 本文实例讲述了C#操作SQLite数据库方法。分享给大家供大家参考,具体如下:SQLite介绍SQLite is a software li
- 本文实例为大家分享了Python绑定方法与非绑定方法,供大家参考,具体内容如下定义:绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数
- 你知道SQL Server这么庞大的企业级数据库服务器产品是如何build出来的吗?这有些相关的数据:每个build 的大小在300GB左右
- 1.性能Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整
- Linux默认python命令指向的是/usr/bin下的python,这个python指向同目录下python2,以及pip默认也是pyt
- 输入:[1.0000, -1.0000, 3.0000]课本中的标准差计算公式:按照上述公式计算:Numpy中的std计算:import n
- 本次的7个python爬虫小案例涉及到了re正则、xpath、beautiful soup、selenium等知识点,非常适合刚入门pyth
- Python慢的重要原因:1、python是动态性语言不是静态性语言在python程序执行的时候,编译器不知道变量的类型。2、python是
- 一、缺失值的处理方法由于各种各样的原因,真实世界中的许多数据集都包含缺失数据,这些数据经常被编码成空格、nans或者是其他的占位符。但是这样
- 前言利用SVD是可以对图像进行压缩的,其核心原因在于,图像的像素之间具有高度的相关性。代码# -*- coding: utf-8 -*-
- ASP结合ADO对数据库方便快捷的访问、结合XML、COM/ActiveX等其它技术 实现服务器多层结构的功能使它在今天还有着顽强的生命力。
- 1. 环境准备1.1 安装pillow 和 pytesseractpython模块库需要 pillow 和 pytesseract 这两个库
- 准备工作B站登录页 https://passport.bilibili.com/loginpython3pip install seleni
- 为满足用户的视觉追求及产品的背景图片的换肤功能,设计师难免在设计上会用到半透明的效果。因此页面重构师基于视觉及产品的需要,采用了PNG32的