打包python模块代码到pypi

python中,我们会在自己业务中,重复性的使用某些功能。我们可以把这些公用的模块,打包上传,然后给需要的人使用,pypi给我们提供了这个机会

本期目录

一、准备工作

二、编写文件

三、上传下载


一、准备工作

1、需要github账号(这个就忽略)

2、需要pypi账号
*这里需要注意开启Two factor authentication (2FA)认证
我选择的是google authenticator,验证码在上面实时更新
在这里插入图片描述3、下载、上传,如果是用的anaconda,注意别用错了虚拟环境。梯子可能要撤掉(坑)

返回顶部目录


二、编写文件

代码:

/StringAndDate_jasa163
----/StringAndDate_jasa163.py
----/setup.py
----/README.md
----/LICENSE
----/_init_.py

其中StringAndDate_jasa163文件夹只是一个单纯的目录,取任何名字皆可。只是用于区分其他文件。
StringAndDate_jasa163.py是库,即你的库的核心文件(虽然也只有一个文件(bruh))
README.md是你库的长描述文件,后期我们对库的描述都在这里面
setup.py是将项目打包的文件

setup.py:

from setuptools import setupsetup(name='StringAndDate_jasa163',version='1.0.0',description='Your module description',author='jasa163',url='https://github.com/hnust-xijing/python-games',author_email='jasa163@163.com'
)

StringAndDate_jasa163.py:
注意:version = '1.0.0’要与setup.py里面的一样

import datetime
import os__version__ = '1.0.0'class StringAndDate(object):、、、、、、

init.py:
可以为空,但一定要有,程序会把这个文件下当成入口

返回顶部目录


三、上传下载

1、生成文件:

先安装如下:

python -m pip install --user --upgrade setuptools wheel
python -m pip install --user --upgrade twine

setuptools和wheel用于构建项目;twine用于上传文件至Pypi。首先检查setup.py语法是否正确:

python setup.py check

构建

python setup.py sdist bdist_wheel

生成3个文件夹:

/StringAndDate_jasa163
----/pgzero_template.egg-info
----/dist
----/build

最重要的是dist

2、上传文件
上面步骤中的Two factor authentication (2FA)认证一定要认证。不然会包二重认证不存在错误(坑)

方法一:
直接cmd

twine upload --repository-url https://upload.pypi.org/legacy/ dist/*

方法二:
在C:\Users\用户名创建文件.pypric

echo a 2>.pypric

文件中写入:

[distutils]
index-servers=pypi[pypi]
repository = https://upload.pypi.org/legacy/
username: [username]
password: [password]

再cmd:

twine upload dist/*

3、尝试导入

 pip install StringAndDate_jasa163

在这里插入图片描述
在这里插入图片描述
成功

返回顶部目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/145880.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

妙不可言的Python之旅----(一)

初识Python python的起源 1989年,为了打发圣诞节假期,Gudio van Rossum吉多 范罗苏姆(龟叔)决心开发一个新的解释程序(Python雏形) 1991年,第一个Python解释器诞生 Python这个名字&#xff…

ubuntu 18.04 LTS安装opencv 3.4.16 + opencv_contrib 3.4.16

1.下载 opencv 3.4.16 opencv_contrib 3.4.16 其中,opencv_contrib解压后的多个文件夹复制到opencv内、合并 2.安装 参考博文: https://zhuanlan.zhihu.com/p/650792342 https://zhuanlan.zhihu.com/p/87197806 其中 (1)cmake前…

Redis与分布式-哨兵模式

接上文 Redis与分布式-主从复制 1.哨兵模式 启动一个哨兵,只需要修改配置文件即可, sentinel monitor lbwnb 1247.0.0.1 6001 1先将所有服务关闭,然后修改配置文件,redis Master,redis Slave,redis Slave…

基于大语言模型扬长避短架构服务

秘诀: 扬泛化之长, 避时延之短

最新AI智能创作系统ChatGPT商业源码+详细图文搭建部署教程+AI绘画系统

一、AI系统介绍 SparkAi创作系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&am…

Python学习之索引与切片

Python学习之索引与切片 s “0abcdefghijklmnopqrstuvwxyz”,第一个元素‘0’,索引号为0,最后一个元素‘z’,索引号为26 1. s[0]获取索引号为0的元素 2. s[1:3]获取索引号为1的元素,直到但不包括索引号为3的元素。即…

西门子S7-1200使用LRCF通信库与安川机器人进行EthernetIP通信的具体方法示例

西门子S7-1200使用LRCF通信库与安川机器人进行EthernetIP通信的具体方法示例 准备条件: PLC:S7-1200 1214C DC/DC/DC 系统版本4.5及以上。 机器人控制柜:安川YRC1000。 软件:TIA V17 PLC做主站,机器人做从站。 具体方法可参考以下内容: 使用的库文件为西门子 1200系列…

源码编译安装systemtap

目录 编译环境 编译步骤 编译环境 阿里云ubuntu20.04 编译步骤 1 先安装elfutils,参见我的前一篇博客 源码编译elfutils_金色熊族的博客-CSDN博客 2 下载systemtap源码 3 解压 解压后的文件夹与elfutils的文件夹应该是平行的,如下图&#xff1a…

网页一直跳转到国家反诈中心页面

很明显,我进入的是vscode的官方下载地址。 但是一直会出现反诈中心的拦截 我们需要在控制面板中,找到网络, 将Internet 协议版本 4 (TCP/IPv4)的属性改成 使用下面的DNS 服务地址(E):8.8.8.8 这样就可以正常访问相关的页面了

ElementPlus

1.国际化--中文 import ElementPlus from element-plus import zhCn from element-plus/dist/locale/zh-cn.mjsapp.use(ElementPlus, {locale: zhCn, }) 2.排序

Redis各数据类型特定的命令和用法 1.0版本

目录 一、Sring数据类型1.1 概述1.2 set/get/append/strlen命令1.3 incr/decr/incrby/decrby 命令1.4 getset命令1.5 setex命令1.6 setnx命令1.7 mset/mget/msetnx命令 二、List数据类型2.1 概述2.2 lpush/lpushx/lrange命令2.3 lpop/llen命令2.4 lrem/lset/lindex/ltrim命令2.…

Linux Ubuntu配置Git的方法

本文介绍在Linux操作系统的Ubuntu版本中,配置分布式开源版本控制系统Git,随后基于Git克隆GitHub中项目的代码的详细方法。 在之前的文章分布式版本控制系统Git的下载、安装与使用其复制GitHub项目代码的方法(https://blog.csdn.net/zhebushib…

思维模型 周期

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。周期是一个看似极为简单,但背后却蕴藏着大智慧的模型,了解周期,对于了解王朝更替,数学之美,经济运转等都有帮助。 1 周期的应用 …

番外5:下载+安装+配置Linux

任务前期工作: 01. 电脑已安装好VMware Workstation软件; 02.提前下载好Rhel-8.iso映像文件(文件较大一般在9.4GB,建议采用迅雷下载),本人使用的以下版本(地址ed2k://|file|rhel-8.4-x86_64-dvd…

1.物联网射频识别,RFID概念、组成、中间件、标准,全球物品编码——EPC码

1.RFID概念 RFID是Radio Frequency Identification的缩写,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需与被识别物体建立机械或光学接触。 RFID(Radio Frequency Identificati…

神经网络中的知识蒸馏

多分类交叉熵损失函数:每个样本的标签已经给出,模型给出在三种动物上的预测概率。将全部样本都被正确预测的概率求得为0.70.50.1,也称为似然概率。优化的目标就是希望似然概率最大化。如果样本很多,概率不断连乘,就会造…

【C++】单例模式

文章目录 一. 介绍二. 饿汉模式三. 懒汉模式四. 饿汉模式和懒汉模式对比 一. 介绍 单例模式是属于设计模式的一种,那什么是设计模式呢? 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总…

python爬虫基于管道持久化存储操作

文章目录 基于管道持久化存储操作scrapy的使用步骤1.先转到想创建工程的目录下:cd ...2.创建一个工程3.创建之后要转到工程目录下4.在spiders子目录中创建一个爬虫文件5.执行工程setting文件中的参数 基于管道持久化存储的步骤:持久化存储1:保…

机器学习笔记 - 基于强化学习的贪吃蛇玩游戏

一、关于深度强化学习 如果不了解深度强化学习的一般流程的可以考虑看一下下面的链接。因为这里的示例因为在PyTorch 之上实现深度强化学习算法。 机器学习笔记 - Deep Q-Learning算法概览深度Q学习是一种强化学习算法,它使用深度神经网络来逼近Q函数,用于确定在给定状态下采…

基于微信小程序的明星应援小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…