pypi如何上传自己的代码记录

目录

一. 注册pypi账号并创建token

1. 注册pypi账号并创建token

2. Pypi账号注册

3. 邮箱验证 

​编辑 4. 重新生成恢复代码

5. 输入账号密码

​编辑 6. 保存code并继续

​编辑7. 输入一行即可,然后点击verify

 8. 点击左方目录内的account setting,进入后下滑找到API token

9. 启用two factor authentication。点击使用app方式,手机下载一个authenticator身份验证器,这边使用google的。点击右下角 + 扫描二维码添加验证器 

10. 扫描左边二维码,输入验证码至右边框内,点击set up application 

11. 输入token名称与权限级别 

​编辑12. 创建完成

​编辑13.接下来在你的电脑里设置.pypirc

二.代码构建

1.创建项目

2 LICENSE

3、生成所需文件,执行下列三次操作。


首先官网注册账号

一. 注册pypi账号并创建token

1. 注册pypi账号并创建token

首先访问PyPI · The Python Package Index注册账号
进入官网点击右上角注册

2. Pypi账号注册

3. 邮箱验证 

 4. 重新生成恢复代码

5. 输入账号密码

 6. 保存code并继续

7. 输入一行即可,然后点击verify

 8. 点击左方目录内的account setting,进入后下滑找到API token

9. 启用two factor authentication。点击使用app方式,手机下载一个authenticator身份验证器,这边使用google的。点击右下角 + 扫描二维码添加验证器 

10. 扫描左边二维码,输入验证码至右边框内,点击set up application 

11. 输入token名称与权限级别 

名字设为__token__即可

12. 创建完成

13.接下来在你的电脑里设置.pypirc

window系统,打开你的用户,选择你的

然后找到.pypirc,如果没有就新建,输入下面内容

[pypi]
username = __token__
password = {pypi-AgEIcHlwaS5vcmcCJGY3YTkwZmJhLTFjNTYtNDE0ZC1iZjZjLWIyZGQ3Y2JhMTdhMwACKlszLCJiNzcwZGJmOS04N2NkLTQzYmMtYmJhNy04NjNiODNkY2UxMjAiXQAABiA83nmUZONcrCYTCbRnO7iTBHKa-h-4N1l02hf-lzKiQg}[testpypi]username = __token__password = pypi-AgENdGVzdC5weXBpLm9yZwIkMTk5ZjBkNWEtMmUzMy00ODMzLWE2ZjUtN2E1NDM2Zjc0N2FlAAIqWzMsIjUzOGU5YjU5LTcyODUtNDRiYS1hNGM5LTZkYjEwNjFjMWY4OSJdAAAGIOIclIf2K19dsxbNsllwhV3C8OOk5T0-c_gW2occFpyE

二.代码构建

my_package/setup.pyREADME.mdLICENSEmy_package/__init__.pymodule1.pymodule2.py

1.创建项目

在电脑上找到自己拉下来的项目文件如yoltv8.在文件yoltv8下再新建一个文件夹yoltv8(文件名自己取,这里是放置代码的主要的包位置),yoltv8里面新建两个.py文件(多余的文件是博主自己的代码,这里主要是演示)

 add_num.py

# -*- coding:utf-8 -*-
def add_num(a,b):return a+b

 __init__.py

# -*- coding:utf-8 -*-
from . import add_num

 二、创建pip库所需要的文件

在项目文件jlwang825里建两个和jlwang同级的文件,如下图

 

setup.py 

from setuptools import setup, find_packagessetup(name='my_package',version='0.1',packages=find_packages(),description='A simple example package',long_description=open('README.md').read(),# python3,readme文件中文报错# long_description=open('README.md', encoding='utf-8').read(),long_description_content_type='text/markdown',url='http://github.com/yourusername/my_package',author='Your Name',author_email='your.email@example.com',license='MIT',install_requires=[# 依赖列表],classifiers=[# 分类信息]
)

  • version:版本号。
  • my_package:包含 Python 代码子目录的名称。
  • description:描述。
  • long_description:读取readme文件
  • url:可不填
  • license:证书类型(下面说明)

2 LICENSE

在软件和开源项目中,LICENSE 文件非常重要,它定义了他人可以如何使用、修改、共享你的代码。LICENSE 文件通常包含了特定的许可证全文,这个许可证规定了对代码的使用权限和限制。

许可证:

Copyright (c) 2018 The Python Packaging Authority

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 

3、生成所需文件,执行下列三次操作。

python setup.py build
python setup.py sdist
python setup.py sdist bdist_wheel

 

在项目文件路径下进入cmd,执行下列操作,将包上传到PyPI。

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

如果报错: 回到pypi那里注册一个test-pypi按1的步骤在走一遍

.然后输入

py -m twine upload --repository testpypi dist/*

 

 如果报错:requests.exceptions.SSLError: HTTPSConnectionPool(host='test.pypi.org', port=443): Max retries exceeded with url: /legacy/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)')))

 关掉猫咪

注意用的时候更新相关插件的版本

如果出现

输入你的api即可 

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

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

相关文章

基于微信小程序的高校排课系统 /基于微信小程序的排课管理系统/课程管理系统

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&a…

爱快路由的dns强制客户端代理真是个强大的功能

大致情况是这样的:同事说在linux服务器/etc/resolv.conf上随便写个IP地址【不在线的】,dns地址也能解析,让我帮忙查查。 我看了下也感觉纳闷,试了下不光在服务器上,我本地的pc随便设置了个dns解析也是一样的。 通过wir…

解决Qt6 error: The kit needs to define a CMake tool to parse this project.

cmake对于Qt6来说很重要,所以学会cmake是必须的。 上述错误,就是我在Windows10下运行cmake项目总是报错的一个问题。 明明路径已经配好了,却总是报错。 具体原因可能和cmake的版本,以及是否设置为默认有关。另外也和QtCreator中…

飞凌全志T527开发板实现局域网内文件传输功能

之前玩开发板的时候,如果需要实现主机与开发板之间的文件传输,通常是通过挂载NFS的方式,而飞凌的OKT527板载WIFI,并且官方提供的镜像中已经将其成功驱动,那我们就可以通过WIFI连接家中的路由器的方式,实现局…

【Redis】Centos7 安装 redis(详细教程)

查看当前 Redis 版本: 当前的 redis 版本太老了,选择安装 Redis5。 一、使用 yum 安装 1、首先安装 scl 源 yum install centos-release-scl-rh 由于我之前已经安装过了,所以加载速度比较快,且显示已经安装成功,是最…

MongoDB整合SpringBoot

文章目录 SpringBoot整合MongoDB环境准备文档操作相关注解创建实体添加文档查询文档更新文档删除文档 小技巧:如何去掉_class属性 SpringBoot整合MongoDB https://docs.spring.io/spring-boot/docs/current/reference/html/data.html#data.nosql.mongodb.repositor…

prompt技巧(2) - 如何解决对话过程中角色反转问题

在一些角色扮演场景下,需要大模型扮演某个角色进行对话,但是在对话过程中偶尔会发生角色反转问题,如大模型扮演客户角色与销售人员进行对话,大模型有时会忘记自己身份,突然以销售人员的身份进行回答,这种情…

ubuntu上部署vue项目到ngixn中+SpringBoot项目+postgresql数据库

文章目录 前提1.Ubuntu上安装ngix2.部署Vue项目2.1上传vue项目2.2.配置 3.Ubuntu上安装Postgres4.部署springboot项目 前提 记一次在ubuntu部署前端vue和后端springboot项目,以及数据库postgresql的安装以及启动、停止等常用的命令。 1.Ubuntu上安装ngix 1、检查…

Cuppa CMS v1.0 任意文件读取漏洞(CVE-2022-25578)

前言 春秋云镜靶场是一个专注于网络安全培训和实战演练的平台,旨在通过模拟真实的网络环境和攻击场景,提升用户的网络安全防护能力和实战技能。这个平台主要提供以下功能和特点: 实战演练: 提供各种网络安全攻防演练场景&#…

yolo模型训练出的.pt文件过大

当我们使用yolov8训练时候,保存的模型变大,如下图: 原模型 训练出来的模型 经过仔细调查,发现是保存的模型中多了很多数据。 原模型 训练出来的模型 只需要把文件中.pt文件读取,重写一遍保存。 from ultralytics im…

深入源码:解析SpotBugs (6)jvm 字节码简介

文章目录 一、JVM字节码概述一、文件结构概述二、详细解析1. 魔数和Class文件的版本2. 常量池3. 访问标志4. 类索引、父类索引与接口索引集合5. 字段表和方法表6. 属性表 字节码Spotbugs 作为一名资深的Java开发工程师,对JVM及其字节码有着深入的理解。现在&#xf…

Linux基于centOS7 【进度条】【Git】【gdb】学习

目录 进度条 进度条的前置准备 sleep (秒)& usleep(微秒) sleep加\n和不加\n的区别 IO函数的缓冲区 回车&换行 10秒倒计时 进度条编写 git的使用 为什么要有git(git版本控制器) git的主要…

江科大/江协科技 STM32学习笔记P13

文章目录 TIM定时中断1、TIM简介计数器PSC预分频器ARR自动重装寄存器 2、定时器类型基本定时器主模式触发DAC 通用定时器高级定时器 3、定时器原理定时中断基本结构预分频器时序计数器时序RCC时钟树 TIM定时中断 1、TIM简介 定时器的基准时钟一般都是主频72MHz,如果…

业绩增长新引擎:智能名片如何助力销售突破

01、智能名片,营销增长利器 在当今竞争激烈的市场环境下,企业正面临着类似品牌曝光不足、销售线索获取困难、客户关系维护复杂等诸多挑战。为帮助企业解决相关难题,促进业绩高效增长,纷享营销通的 智能名片 应运而生&#xff0…

Leetcode—74. 搜索二维矩阵【中等】

2024每日刷题&#xff08;149&#xff09; Leetcode—74. 搜索二维矩阵 实现代码 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int m matrix.size();int n matrix[0].size();int l 0;int r m * n;int mid -1…

DB-gpt + one-api + kimi-free-api 真香

# 1. 新建文件夹 one-api 和 子目录 mkdir -p /docker/one-api/data# 运行容器one-api docker run --name one-api -d --restart always -p 3333:3000 \ -e TZAsia/Shanghai -e REDIS_CONN_STRINGredis://192.168.0.3:6379 -e SYNC_FREQUENCY60 -e SQL_DSNroot:123456tcp(192.1…

springboot整合junit-用于测试用例

package impl;public interface BookDao {public void save(); }第一步&#xff1a;打开软件&#xff0c;点击file&#xff0c;点击new 然后选择module&#xff0c;在右侧选择springboot 第二步&#xff1a;选择配置和JDK以及java版本 ①选择maven类型 ②选择JDK1.8版本 ③选…

极限两边夹定理

极限两边夹定理 1. 定义 两边夹定理 (又称作夹逼定理) 说的是&#xff0c;如果一个函数 f f f 被夹在函数 g g g 和函数 h h h 之 间&#xff0c;当 x → a x \rightarrow a x→a 时&#xff0c;这两个函数 g g g 和 h h h 都收敛于同一个极限 L L L&#xff0c;那么当…

全国区块链职业技能大赛样题第9套后端源码

后端源码地址:https://blog.csdn.net/Qhx20040819/article/details/140746050 前端源码地址:https://blog.csdn.net/Qhx20040819/article/details/140746216 智能合约+数据库表设计:https://blog.csdn.net/Qhx20040819/article/details/140746646 项目预览 登录 用户管理

LRTimelapse Pro 7.0 安装教程

软件介绍 LRTimelapse Pro (LRT) 是一款专业的延迟摄影编辑渲染工具&#xff0c;具有高清输出、简单易用、无缝转换等特点。是非常强大的一款延迟摄影工具&#xff01;LRTimelapse Pro可以将您的影片提升一个水准。 程序可以配合 Adobe Lightroom, Adobe Camera RAW 和 Adobe…