当前位置: 首页 > news >正文

开源自定义Python库并上传到PyPi

0. 准备工作

推荐环境需求:
Ubuntu20.04及以上
python3.8以上

0.1 安装git

sudo apt update
sudo apt-get install git

0.2 安装Python相关库

pip install twine wheel

0.3 注册一个GitHub账户

注册地址: https://github.com/
请添加图片描述

0.4 注册一个PyPi账户

注册地址: https://pypi.org/account/register/

在这里插入图片描述

0.5 安装令牌管理应用

这里推荐一个GitHub开源项目:https://github.com/beemdevelopment/Aegis

在这里插入图片描述

1. 创建GitHub仓库

2.1 新建仓库

登录上自己的GitHub账户,在主页点击创建仓库的图标

在这里插入图片描述

2.2 填写仓库信息

按照下图填写即可

在这里插入图片描述

2.3 设置SSH key

打开一个虚拟终端运行:

$ ssh-keygen -t rsa -C "<你的GitHub账户>"

查看Key

$ ls ~/.ssh
id_rsa  id_rsa.pub  known_hosts

id_rsa id_rsa.pub就是 SSH Key 的秘钥对,id_rsa 是私钥,不能泄露出去,id_rsa.pub 是公钥。

$ cat ~/.ssh/id_rsa.pub

在这里插入图片描述

2.4 上传公钥到GitHub

登录到GitHub之后,点击自己的头像,然后点击列表中的Settings

在这里插入图片描述

然后点击SSH and GPG keys

在这里插入图片描述

在弹出的新界面中点击 New SSH key

在这里插入图片描述

填写信息,将cat ~/.ssh/id_rsa.pub命令查询到的内容复制到下面的key一栏

在这里插入图片描述

**注意:**点击Add SSH key后会跳转到验证GitHub账户的界面,输入自己的密码登录即可

在下面即可看到刚才添加的公钥

在这里插入图片描述

2. 本地项目上传至GitHub仓库

首先打开一个虚拟终端,输入以下命令,测试GitHub连通性

$ ssh -T git@github.com
Hi LeurDeLis! You've successfully authenticated, but GitHub does not provide shell access.

设置GitHub用户名和邮箱,用户名为注册时填写的名字, 邮箱为注册GitHub时的账户

$ git config --global user.email xxx@xxx.com
$ git config --global user.name “xxxxx”

查看是否添加成功

$ git config -l
user.email=xxx@xxx.com
user.name=“xxxxx”

1.1 创建项目目录

创建目录结构如下,例如我的项目名为BusServoControl__init__.py文件要和源码放在同一级目录下

BusServoControl/
├── LICENSE
├── README.md
├── setup.py
└── BusServoControl/├── __init__.py└── BusServoControl.py

注意: 项目名要和GitHub上面创建的仓库名保持一致

1.2 git初始化

使用 git init 命令,可以将一个普通的目录转变为一个可以使用 Git 进行版本控制的代码库。在代码库中,Git 将跟踪和管理代码的历史记录、分支和更改。

$ git init

http://www.xdnf.cn/news/421957.html

相关文章:

  • 基于几何布朗运动的股价预测模型构建与分析
  • 华为0507机试
  • 【力扣】K个一组翻转链表
  • aardio - godking.vlistEx.listbar + win.ui.tabs 实现多标签多页面切换
  • llamafactory-记录一次消除模型随机性的成功过程
  • VSCode中Node.js 使用教程
  • WPF自定义控件开发全指南:多内容切换与动画集成
  • 基于深度学习的水果识别系统设计
  • 蛋白设计 ProteinMPNN
  • go语言学习进阶
  • Telnet 类图解析
  • 题海拾贝:P1833 樱花
  • 不用服务器转码,Web端如何播放RTSP视频流?
  • 多线程代码案例-1 单例模式
  • 在spark中配置历史服务器
  • 【C++】深入理解 unordered 容器、布隆过滤器与分布式一致性哈希
  • 拓扑排序详解
  • H5S 视频监控AWS S3 对象存储
  • BGP实验练习2
  • Github 2025-05-13 Python开源项目日报 Top10
  • 从零开始:使用 Vue-ECharts 实现数据可视化图表功能
  • 详解Windows(十一)——网络连接设置
  • 解锁ozon运营新路径:自养号测评技术如何实现降本增效
  • CSS结构性伪类、UI伪类与动态伪类全解析:从文档结构到交互状态的精准选择
  • 【Flask全栈开发指南】从零构建企业级Web应用
  • Vue3+uniapp 封装axios
  • 《猜拳游戏》
  • 深入学习Zookeeper的知识体系
  • 软件测试服务公司分享:国产化适配测试的重要性和关键要素
  • 如何在 CentOS 7 虚拟机上配置静态 IP 地址并保持重启后 SSH 连接