Pypi 发布自己的包
- 注册Pypi
- 验证注册邮箱
- 用我的一个包(git-clone)举例
- 供参考项目:
- 必须的文件及文件夹
-
setup.py
from setuptools import setup, find_packages setup( name='git-clone', # 包名 version='1.0.5', # 版本号 description=('Git clone by downloading zip and decompressing it'), # 简介 long_description=open('README.rst').read(), # 读取README.rst的内容, 在pypi里包主页显示 author='twfb', # 作者名 author_email='twfb@hotmail.com', # 作者邮箱 maintainer='twfb', # 维护者名 maintainer_email='twfb@hotmail.com', # 维护者邮箱 license='BSD License', packages=find_packages(), platforms=["all"], include_package_data=True, url='https://github.com/dhgdhg/git-clone/', # 包主页显示的链接 classifiers=[ 'Development Status :: 4 - Beta', 'Operating System :: OS Independent', 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'Programming Language :: Python', 'Programming Language :: Python :: Implementation', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Topic :: Software Development :: Libraries' ], entry_points={ # 可在命令行中执行的命令及对应的脚本, 如果没有该需求可以不用写 'console_scripts': ['git-clone=git_clone.git_clone:execute'], }), # install_requires=['scrapy>=1.0.0', 'selenium>=3.9.0']) #我这里没用到, 这个是安装你的包环境要求
-
README.rst
- 懒得写, 我就直接放github的链接了
https://github.com/dhgdhg/git-clone/
-
git_clone文件下的
git_clone.py
- 下面就是该是内容了
def git_clone(): # 你写的包里面的方法 pass def execute(): # 没有命令行命令需求的不用写该函数 ''' setup.py中指定的脚本文件 entry_points={ # 可在命令行中执行的命令及对应的脚本 'console_scripts': ['git-clone=git_clone.git_clone:execute'], }), 这里再解释下 git-clone: 就是你在命令行中调用的命令 execute: 执行的函数名 ''' import sys git_clone(sys.argv[1], sys.argv[2], sys.argv[3]) # sys.argv 命令中的参数
-
git_clone文件下的
__init__.py
from .git_clone import git_clone
-
- 可选的文件及文件夹
README.md
- 用markdonw书写, 上传到github时用于项目介绍
requirements/requirements.txt
- 环境要求 方便直接安装需要的库
- 生成pip安装文件
pip install wheel
python setup.py sdist bdist_wheel --universal
- 你会发现多个文件夹dist
- dist中的文件你可以先用pip install 测试下能不能用
- 上传到pypi
- 安装twine
pip install twine
- 上传文件
twine upload dist/*
- 会提示你输入用户名, 然后输入密码, 注意密码不要复制粘贴, 要手输, 别问我怎么知道的
- 安装twine