这里以我的一个小的项目bertforyou为例,来介绍一下github上面如何发布属于自己的python库
首先安装一下对应的twine库
pip install twine
接下来写一个对应的setup.py文件
#!/usr/bin/env python
from io import open
from setuptools import setup, find_packages
setup(
name='bertforyou',
version='1.1.3',
description='a package for your bert using',
long_description='使用keras实现你的bert项目',
author='xiaoguzai',
author_email='[email protected]',
license='Apache License 2.0',
url='https://github.com/boss2020/tfbert',
download_url='https://github.com/boss2020/tfbert/master.zip',
packages=find_packages(),
install_requires=['tensorflow>=2.4.0rc0']
)
其中name为PyPi对应的名称,version为相应的版本,license为对应的协议,
最好在相应目录上放上对应的LICENSE文件以及readme.md说明文件
注意这里的setup.py需要放在文件夹的外面
注意__init__.py要命名写法正确,不要出现命名错误
接下来这里我将代码放置到了bertforyou文件之中
这里的__init__.py文件必须要有,否则会出现发布上去之后,使用pip install命令安装下来会发现只有对应的dist-info文件夹,没有对应的代码文件夹。
只有拥有了__init__.py文件之后,才能够将源代码的内容打包传上来
然后在用户文件夹下创建你的信息
创建用户验证文件 ~/.pypirc
在自己的用户目录下新建一个空白文件命名为.pypirc,内容如下:
[distutils]
index-servers=pypi
[pypi]
repository = https://upload.pypi.org/legacy/
username = <username>
password = <password>
用户名和密码就是上一步骤所创建的,直接明文输入。如果你觉得明文密码不安全也可以留空,在后面的上传过程中会提示你手动输入。
接下来执行相应的安装指令即可
python setup.py sdist
如果想要生成一个对应的wheel文件,对应的命令为
python setup.py bdist_wheel
上传对应的dist文件
然后使用pip命令安装
pip install bertforyou
常见错误:
1.如果报403错误,是有人使用的包与你的包保持同名
2.如果报400错误,是之前生成了一个对应的dist文件,你需要将之前的dist文件删除之后,再进行重新的下载安装