首页 > 编程语言 >python 写一个工具, 上传到 pypi

python 写一个工具, 上传到 pypi

时间:2024-09-01 14:21:41浏览次数:13  
标签:description Language python pypi Programming token Python 传到

起因

  1. 把自己的图片工具, 整理为一个库, package, 然后发布出去!
  2. 就像是一个人喜欢搜集贝壳,现在整理一下,用一根线把好看的贝壳串起来,做成一个项链。
  3. 整理记录是很有必要的。 比如写一个 python package. 我之前明明做过(2022年)。

项目代码:

假设项目代码已经写好了,下面是打包发布的过程。

1. 修改下面 setup.py 中的内容,把各种名称改为自己的名字。

# Always prefer setuptools over distutils
from setuptools import setup, find_packages

# To use a consistent encoding
from codecs import open
from os import path

# The directory containing this file
HERE = path.abspath(path.dirname(__file__))

# Get the long description from the README file
with open(path.join(HERE, 'README.md'), encoding='utf-8') as f:
    long_description = f.read()

# This call to setup() does all the work
setup(
    name="ImgToolsGG",  # todo fix this name
    version="0.1.23",
    description="test how to make a package",
    long_description=long_description,
    long_description_content_type="text/markdown",
    url="https://github.com/buxuele/ImgToolsGG",
    author="MeJustAFanOfGSW",
    author_email="[email protected]", # todo fix this
    license="MIT",
    classifiers=[
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Operating System :: OS Independent"
    ],
    packages=["src"],  # todo: main folder
    include_package_data=True,
    install_requires=["numpy"]
)

2. 安装2个工具

pip install wheel twine

3. 构建 build

python setup.py sdist bdist_wheel

4. 检查一下

twine check dist/*

5. 创建 pypi 账号

!!! 这里是最麻烦的地方是: pypi 的双重身份验证
手机下载一个 FreeOTP, 然后扫描二维码就行了

打开: https://pypi.org/manage/account/token/
申请一个 api token. 全账户通用的。
这个token 会比较长!

token: 类似这样,pypi-AgEIcHl*****5xVLj0er0q50fiFoIJQ

6. 测试一下, 能否上传到 test.pypi.org

twine upload --repository-url https://test.pypi.org/legacy/ dist/*
这里可以不用输入token. 毕竟只是测试。 其实这一步可以省略。

7. 上传真正的代码:

twine upload dist/*

这里有个问题,pycharm 终端, 无法复制粘贴文本!

所以需要打开一个系统终端。
右键直接粘贴上面的 token.

8. 其他的, travis-ci 以后再说

标签:description,Language,python,pypi,Programming,token,Python,传到
From: https://blog.csdn.net/waterHBO/article/details/141578662

相关文章

  • [Python手撕]LRU
    classNode:def__init__(self,key=0,value=0):self.key=keyself.value=valueself.prev=Noneself.next=NoneclassLRUCache:def__init__(self,capacity:int):self.capacity=capacityself.......
  • [Python手撕]LFU
    classNode:def__init__(self,key=0,val=0,pre=None,next=None,fre=0,tail=None):self.key=keyself.val=valself.pre=preself.next=nextself.fre=freself.tail=tailclassLFUCache:d......
  • python读取txt文本文件-批量更改mysql数据库中一批用户的用户名的python脚本保存及转
    一、python读取txt文本文件-批量更改mysql数据库中一批用户的用户名的python脚本保存    做一个简单的事:使用python读取一个txt文件,里面存储着N行用户id,需要一行行读取后再读取另一个存储用户昵称的txt文件,判断昵称是否有重复,如果没有重复就将数据库中的当前uid用户的昵称......
  • Python 数据结构——二叉树(最最最最最实用的二叉树教程)
    本文章以实用为主,所以不多废话直接开整本文所介绍的二叉树是最基础的二叉树,不是二叉搜索树,也不是平衡二叉树,就基本的二叉树二叉树的创建基本二叉树的创建其实比链表还要简单,只需创建一个节点的类即可,随后用指针将其串起来。不同于链表的是,二叉树为一个父节点连接到两个子节......
  • 用Python解决预测问题_对数线性模型模板
    对数线性模型(Log-linearmodel)是统计学中用于分析计数数据或频率数据的一类模型,特别是在多维列联表(contingencytables)分析中非常常见。这种模型通过取对数将乘法关系转换为加法关系,从而简化了数据分析。在对数线性模型中,我们通常对观测频数的对数进行建模,模型的形式可以表示......
  • 【Python系列】signal信号处理
    ......
  • 【Python系列】 参数默认规则
    ......
  • 20240901_113250 python 知识点列表
    开发环境20240901_113224python环境依赖的备份与导入_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/1188873020240901_114639填空题环境的备份与导入_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/11888767......
  • 【Python】标准库的使用
    Python通过模块来体现“库”降低了程序猿的学习成本提高了程序的开发效率库就是是别人已经写好了的代码,可以让我们直接拿来用荀子曰:“君子性非异也,善假于物也”一个编程语言能不能流行起来,一方面取决于语法是否简单方便容易学习,一方面取决于生态是否完备所谓的......
  • 20240901_113224 python 环境依赖的备份与导入
    20240830_173845python当前环境依赖包导出到文件中_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/1187710920240830_183845python从依赖包记录文件中批量安装包_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/11877185......