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

news2025/1/12 12:21:07

目录

一. 注册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.py
  README.md
  LICENSE
  my_package/
    __init__.py
    module1.py
    module2.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_packages
 
setup(
    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.coloradmin.cn/o/1959520.html

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

相关文章

17K star!30秒偷走你的声音,开源声音克隆工具

现在的AI发展越来越快,生成一段语音不是难事,那如果生成的是你自己的声音,你觉得如何? 今天我们分享一款开源的声音克隆工具,只需30秒的一般音源,他就可以偷走你的声音,它就是:Open…

【Vulnhub系列】Vulnhub_Seattle_003靶场渗透(原创)

【Vulnhub系列靶场】Vulnhub_Seattle_003靶场渗透 原文转载已经过授权 原文链接:Lusen的小窝 - 学无止尽,不进则退 (lusensec.github.io) 一、环境准备 1、从百度网盘下载对应靶机的.ova镜像 2、在VM中选择【打开】该.ova 3、选择存储路径&#xff0…

【扒代码】X = output[:,:,y1:y2,x1:x2].sum()

假设我们有以下输入: output 是一个形状为 (1【batch size】, 1【channel】, 10, 10) 的张量,表示一个 10x10 的输出图像。boxes 是一个形状为 (1【index】, 2, 5) 的张量,表示两个边界框,每个边界框包含 5 个值 [index, y1, x1,…

聊聊 ChatGPT

一、ChatGPT一次添加一个词 ChatGPT作用:人为输入任何文本后,自动生成一个"合理的延续",合理指的是:假如你看了数十亿网页上的内容后,发现大家都这么写,那你也这么写,就是合理的。Ch…

NC 删除有序链表中重复的元素-I

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 删除给出链表…

代码随想录训练营 Day14打卡 二叉树 part02 226.翻转二叉树 101. 对称二叉树 104. 二叉树的最大深度 111. 二叉树的最小深度

代码随想录训练营 Day14打卡 二叉树 part02 一、 力扣226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 : 输入: root [4,2,7,1,3,6,9] 输出: [4,7,2,9,6,3,1] 我们下文以前序遍…

前端工程化-vue项目创建

可以使用html、css、javascpript ,以及使用vue、axios等技术搭建前端页面,但效率低、结构乱。 实际前端开发: 前端工程化开发步骤: 一、环境准备 1.安装NodeJS2. 安装vue-cli 二、创建Vue项目 有两种方式创建,一般采用第二种图…

【连续3年稳定发表,门槛低 易中稿】第四届先进制造技术与电子信息国际学术会议(AMTEI 2024,9月20-22)

由深圳技术大学集成电路与光电芯片学院、中南大学自动化学院联合支持的第四届先进制造技术与电子信息学术会议(AMTEI 2024)将于2024年09月20-22日在重庆召开。 本次会议主要围绕先进制造技术与电子信息的最新研究领域,为来自国内外高等院校、…

Springboot+Thymeleaf实现纯静态化页面处理

前言&#xff1a;引入包什么的就不讲了&#xff0c;这里我只记录如何实现。 在template目录下构建模板页面 IndexTemplate.html。一般模板文件都是放在这个下面<!DOCTYPE html> <html lang"zh" xmlns:th"http://www.thymeleaf.org"> <head&…

深度模型中的优化 - 优化策略和元算法篇

序言 在人工智能与机器学习的快速发展中&#xff0c;深度模型作为核心技术之一&#xff0c;其优化问题至关重要。深度模型通过构建多层神经网络来模拟人脑的学习与推理过程&#xff0c;处理复杂数据模式与任务。然而&#xff0c;这些强大能力的背后&#xff0c;离不开高效的优…

【python函数】调用系统命令进行文件夹的创建与删除

大家好&#xff0c;我是一名_全栈_测试开发工程师&#xff0c;已经开源一套【自动化测试框架】和【测试管理平台】&#xff0c;欢迎大家关注我&#xff0c;和我一起【分享测试知识&#xff0c;交流测试技术&#xff0c;趣聊行业热点】。 一、函数说明&#xff1a; 获取系统名称…

人工智能计算机视觉系列—构建你的图像标签管理系统:使用Flask和SQLite实现前后端应用

文章目录 1. 项目背景2. 方案概述3. 环境部署4. 具体实现5. 运行步骤6. 总结 1. 项目背景 在机器学习和计算机视觉的开发过程中&#xff0c;我们经常需要处理大量的图像及其标签信息。一个直观、便捷的图像和标签展示工具可以极大地提高开发效率。本文将介绍如何使用Flask框架…

最靠谱的搭建方式-ESP32入门搭建Arduino开发环境基于mac系统

ESP32入门搭建Arduino开发环境基于mac系统 1.概述 ESP32开发版作为物联网开发非常的方便&#xff0c;不过在入门时候搭建Arduino开发环境比较麻烦&#xff0c;因为Arduino在下载ESP32开发环境时总是失败&#xff0c;因此不得不采用手动安装环境方式。 这篇文章主要介绍mac系统…

Java 并发编程实战权威指南(电子版教程)

前言 Java并发编程主要涉及多线程编程&#xff0c;通过创建多个线程来并发执行任务&#xff0c;从而提高程序的执行效率和响应能力。Java提供了多种机制和技术来实现并发编程&#xff0c;包括进程和线程的管理、同步机制、高级并发工具以及最佳实践。 一、下载地址 下载地址…

hadoop学习笔记3-yarn

4.YARN yarn本质上是一个负责管理资源节点、调度资源节点的资源调度平台&#xff0c;负责为运算程序提供服务器计算资源&#xff0c;把任务调度到合适的节点上执行 4.1yarn架构 yarn 主要由ResourceManager、NodeManager、applicationmaster组件构成 yarn将资源管理和应用程…

PowerDNS架构解析与安装部署指南

1、背景介绍 目前公司使用PowerDNS进行DNS管理&#xff0c;但由于采用的是单节点架构&#xff0c;存在不可用的风险。为提升系统的稳定性和可靠性&#xff0c;我们计划对现有架构进行重构。通过引入高可用性设计&#xff0c;我们将优化系统架构&#xff0c;使其能够在故障情况…

设计模式 之 —— 抽象工厂模式

目录 什么是抽象工厂模式&#xff1f; 定义 特点 抽象工厂模式&#xff08;java代码示例&#xff09; 首先定义第一个接口 实现第一个接口的类 定义第二个接口 实现第二个接口的类 * 创建抽象工厂类 创建扩展了 AbstractFactory 的工厂类 饮料工厂 食物工厂 * 创建一个…

非科班出身的你,如何转行web安全工程师?零基础入门到精通,收藏这一篇就够了

想从其他行业转行到算法工程师的人&#xff0c;无外乎以下几个原因&#xff1a; 现在工资太低 工作没有前景 对现在的工作没有热情 对web安全工程师很感兴趣 那么&#xff0c;转行web安全工程师&#xff0c;你需要掌握哪些技能呢&#xff1f; ​ 为了帮助大家更好的学习网络…

第100+18步 ChatGPT学习:R实现SVM分类

基于R 4.2.2版本演示 一、写在前面 有不少大佬问做机器学习分类能不能用R语言&#xff0c;不想学Python咯。 答曰&#xff1a;可&#xff01;用GPT或者Kimi转一下就得了呗。 加上最近也没啥内容写了&#xff0c;就帮各位搬运一下吧。 二、R代码实现SVM分类 &#xff08;1&a…

Docker部署nacos...用户名密码错误

前提 镜像选择v2.3.0版本&#xff0c;因为最新的没拉下来用的别的地方save load的镜像。 官方示例 官方文档 数据库脚本&#xff0c;直接去数据库新建数据库nacos吧&#xff0c;执行脚本&#xff0c;执行完成后&#xff0c;发现只有建表语句&#xff0c;查询得知&#xff0c…