如何将python的项目发布到Pypi上,让别人也可以通过pip install XXX的方式来安装并使用我们所发布的项目。故记录一次pip项目的发布
事前准备
要将你的python项目发布到Pypi上,那么要准备以下两个账号:
如果以上两个账号都具备,请飘过~~~~~~~
一、项目结构以及配置
熟悉一下当前的项目结构:
# tree
.
├──googletrans
│ ├── __init__.py
│ └── trans_google.py
├── README.md
├── LICENSE
├── setup.py
├── setup.cfg
└── .pypirc
除我们自己的项目以外,我们还要创建以下文件:
README.md
: 是对当前项目的介绍;
LICENSE
:是在github创建项目时,添加的一个“MIT License”文件;
在我们上传到Pypi之前,我们要获取一个MIT 的LICENSE的文件,就需要从github上面获取去。获取license内容步骤
- 在我们github上新增一个项目,
- 然后点击:Add File -> Create new file, 然后在下图中的地方输入license,
- 右边就会出现一个Choose a license template,点击Choose a license template,
- 然后选择MIT License,最后提交保存。
.pypirc
: 此文件主要用于上传包到PyPI时权限验证, 其内容如下(可以直接copy):
[distutils]
index-servers=pypi
[pypi]
repository = https://upload.pypi.org/legacy/
username = 123
password = 123
注: username
,pasword
填写的pypi上注册的username和password
setup.py
: 打包时用到的元数据信息, setup()函数,此函数的参数指定了如何配置自己的项目。可以通过下面的命令查看;内容如下:
# -*- coding: utf-8 -*_
# Author: XXX
from distutils.core import setup
import setuptools
setup(
name='', # 包的名字
version='', # 版本号
description='', # 描述
author='', # 作者
author_email='', # 你的邮箱**
url='', # 可以写github上的地址,或者其他地址
# packages=setuptools.find_packages(exclude=['bingtrans', 'google_bing_trans']), # 包内不需要引用的文件夹
packages=setuptools.find_packages(), # 都需要引用,就用这个,否则就是用面那一条
# 项目当前使用的依赖包
install_requires=[
'requests',
],
classifiers=[
'Development Status :: 4 - Beta',
'Operating System :: Microsoft', # 你当前的操作系统
'Intended Audience :: Developers',
"License :: OSI Approved :: MIT License",
'Programming Language :: Python', # 支持的语言
'Programming Language :: Python :: 3', # python版本 。。。
'Topic :: Software Development :: Libraries',
],
zip_safe=True,
python_requires=">=3.6",
)
setup.cfg
: setup.cfg是setuptools的配置文件。 它告诉setuptools有关你的软件包(例如名称和版本)以及要包含的代码文件的信息:
[metadata]
# replace with your username:
name = example-pkg-YOUR-USERNAME-HERE
version = 0.0.1
author = Example Author
author_email = author@example.com
description = A small example package
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/pypa/sampleproject
project_urls =
Bug Tracker = https://github.com/pypa/sampleproject/issues
classifiers =
Programming Language :: Python :: 3
License :: OSI Approved :: MIT License
Operating System :: OS Independent
[options]
packages = find:
python_requires = >=3.6
待以上配置文件都搞定以后,就可以开始第二步了。
二、打包自己的项目
首先需要安装twine,执行以下命令
安装twine :
pip install twine
然后执行下述两条命令
python setup.py build
#执行此命令后,会生成build的目录,目录层级是 build/lib/test,可以在此查看打包的代码是否完整
Python setup.py sdist
# 执行此命令后,就会在生成dist目录,并在该目录下生成压缩包文件 .tar.gz
最后执行此命令
twine upload dist/XXXXX.tar.gz
#上传你刚刚打包好的压缩包
完成之后,就可以使用pip install XXX进行安装使用了。