上传属于自己的python第三方库,从此以后多了一种分享代码的方式

目录

前言

注册pypi网站的账户

将本地写好的库上传到GitHub仓库

使用Vscode打开库文件

修改set.py文件

twine上传第三方库至pypi网站

注意事项 


前言

学过 python 的都知道是用 pip 安装包。秉持着开源精神,是否也想把自己写的包上传到 pypi ,供大家下载分享呢?

因为我一直都有整理代码的习惯,所有这一年多累加了很多图像处理方面的代码,平时也会用自己写的私库函数,但有时候因为要删删减减的,调换函数位置,不是很方便,最近也是查了很多的资料,也是成功的将库上传到了pypi网站中。

我发现网上对这方面的资料很有限,不知道是不是大佬不重视,还是因为有其他的原因,这里我就带大家走一遍这个流程。

欢迎大家下载并使用我的第三方库

注册pypi网站的账户

PyPI · The Python Package Index

小白需要先去这个pypi网站注册账号,用户名与密码一定一定要自己去设置,不要偷懒去用浏览器生成密码。然后,你再去搜索一下,是否有和你想要取名的包重合。

我的建议呢,就按照—— py+自己的姓名缩写 命名,这样人家也容易知道这是你制作的。

将本地写好的库上传到GitHub仓库

大家可以去我的GitHub上参考我的文件结构

Auorui/pyzjr: 个人私库 (github.com)

LICENSE和README文件都需要添加上,目前我的README文件还没有时间写,后期再补上。

使用Vscode打开库文件

完成后,将其GitHub文件下载到本地当中,这里仅仅提供一下目录的结构。

这里的dist文件和pyzjr.egg-info文件都是后面生成的,才从Github上下载到本地是没有的。

使用Vscode来打开这个文件,打开我们的终端,可以用控制面板cmd,也可以用git。

这里我采用的是git,所以下面也以此为例。

修改set.py文件

set.py文件一定要看清楚,是在库函数外面,在上传到Github前,你可以先创一个空的py文件,后续修改就可以了。

"""
- author:Auorui(夏天是冰红茶)
- creation time:2022.10
- pyzjr is the Codebase accumulated by my python programming.
  At present, it is only for my personal use. If you want to
  use it, please contact me. Here are my email and WeChat.
- WeChat: z15583909992
- Email: [email protected]
- Note: Currently still being updated, please refer to the latest version for any changes that may occur
"""


import codecs
import os
from setuptools import setup, find_packages

# these things are needed for the README.md show on pypi (if you dont need delete it)
here = os.path.abspath(os.path.dirname(__file__))

with codecs.open(os.path.join(here, "README.md"), encoding="utf-8") as fh:
    long_description = "\n" + fh.read()

# you need to change all these
VERSION = '0.0.7'
DESCRIPTION = ' a computer vision library that supports both Win and Mac '
LONG_DESCRIPTION = 'pyzjr is a computer vision library that supports both Win and Mac'

setup(
    name="pyzjr",
    version=VERSION,
    author="Auorui",
    author_email='[email protected]',
    url='https://github.com/Auorui/pyzjr',
    description=DESCRIPTION,
    long_description_content_type="text/markdown",
    long_description=long_description,
    packages=find_packages(),
    license='MIT',
    install_requires=[],
    keywords=['python', 'computer vision', 'pyzjr','windows','mac','linux'],
    classifiers=[
        "Development Status :: 1 - Planning",
        "Intended Audience :: Developers",
        "Programming Language :: Python :: 3",
        "Operating System :: Unix",
        "Operating System :: MacOS :: MacOS X",
        "Operating System :: Microsoft :: Windows",
    ]
)

这里大家可以复制我的,但里面的内容一定要进行修改成自己的,毕竟你也应该不希望自己制作的包变成我的名字吧。

python setup.py develop

先进行本地的一个测试,输入py后进入python,输入import pyzjr。

这里,我发现了测试成功。正确的方式是你可以在__init__.py文件写一点你要打印的东西。这样直接import后就会自己打印出来了。

python setup.py sdist

编译成功后就会生成 dist 和 egg-info 两个文件夹,egg-info 是用来记录包的信息的,dist 是用来存放打包好的包的。 

twine上传第三方库至pypi网站

首先,需要pip命名下载twine:

pip install twine

这样你就可以上传到 pypi

twine upload dist/*

接着就输入你的pypi的网站账户和密码 

注意事项 

每次版本的更新,需要修改__init__.py文件和set.py文件中的版本号。

dist文件下的文件要在下一次上传时要将上一个版本号清除掉。

密码是不会通过按键进行显示的,你只需要输入就行,然后再换行。

上传前,请一定要保证你的库中函数是能够正常的使用的,不然会像我一样改了好几个版本。

猜你喜欢

转载自blog.csdn.net/m0_62919535/article/details/131530793
今日推荐