Python自定义CLI三方库
一、注册一个pypi账号。
二、github上创建一个项目。
三、编写自己的python项目。
项目结构(参考):https://github.com/fengmm521/pipProject
先建一个目录,比如magetool,这个里边放的是你的项目代码。在这个magetool目录里,新建一个__init__.py,这个文件里可以什么都不用写,然后就是你要发布的.py文件
四、编写setup.py
# File Name: setup.py # Author: wusir # Mail: wusir666666@163.com # Created Time: 2019-3-26 ############################################# from setuptools import setup, find_packages setup( name = "InitReadme", version = "0.1.0", keywords = ("pip", "os"), description = "pip test", long_description = "pip test", license = "MIT Licence", url = "https://github.com/wusri66666/InitReadme.git", author = "wusir", author_email = "wusir666666@163.com", packages = find_packages(), include_package_data = True, platforms = "any", install_requires = [],
scripts = [],
entry_points={
'console_scripts':['initcli=initcli.cli:main']
},
)
1.name
name = “InitReadme”,这个name参数后边的就是你的项目代码所在目录,也是你pip要上传的项目名称,其他人用pip install xxx来安装时,后边的xxx就是你的这个InitReadme
2.version
version = “0.1.0”,你工具的版本号,后期你工具更新了,要用pip来更新包的时候,会更新比当前版本号高的新版本。
下边是pip 更新包的命令
pip install --upgrade <包的名字>
pip install -U <包的名字>
3.packages
packages = find_packages(),这个参数是导入目录下的所有__init__.py包
4.install_requires
install_requires = [],这是一个数组,里边包含的是咱的pip项目引用到的第三方库,如果你的项目有用到第三方库,要在这里添上第三方库的包名,如果用的第三方版本不是最新版本,还要有版本号。
五:打包自已的项目
在代码编写完成,自已测试后没有问题了,就可以打包了。 打包使用下边两个其中一个命令(我使用的是第二个):
$ python setup.py bdist_egg # 生成类似 edssdk-0.0.1-py2.7.egg,支持 easy_install
$ python setup.py sdist # 生成类似 edssdk-0.0.1.tar.gz,支持 pip
两个命令打包好之后都会生成build和dist两个目录,打包的文件会放在dist目录下,供后边上传到PyPi服务器
六:上传到PyPi服务器
twine upload dist/*
执行完这行指令之后,会提示输入pypi的用户名和密码,正常输入就可以。