发布自己的 Python 代码到 PyPI 使其能够方便地被他人安装使用,包括以下几个步骤。
1. 创建项目
首先需要创建一个 Python 项目,项目的结构通常如下:
myproject/
├── myproject/
│ ├── __init__.py
│ ├── module1.py
│ └── module2.py
├── tests/
│ ├── __init__.py
│ ├── test_module1.py
│ └── test_module2.py
├── setup.py
├── README.md
└── LICENSE
其中:
myproject/
目录下是项目的代码文件。tests/
目录下是项目的单元测试文件。setup.py
是项目的打包脚本,用于描述项目信息及打包方式。README.md
是项目说明文档。LICENSE
是项目的开源协议。
2. 编写 setup.py 文件
setup.py 是项目的打包脚本,用于描述项目信息及打包方式。示例代码如下:
from setuptools import setup, find_packages
setup(
name='myproject',
version='1.0.0',
description='My project description',
url='https://github.com/myname/myproject',
author='My Name',
author_email='myemail@example.com',
packages=find_packages(),
install_requires=[
'numpy>=1.18.0', # 依赖的第三方库
],
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
],
)
其中:
name
是项目名称,必须唯一。version
是项目版本号。description
是项目描述。url
是项目的 URL 地址。author
是项目作者。author_email
是项目作者邮箱。packages
是需要打包的 Python 包,使用find_packages()
自动查找。install_requires
是项目依赖的第三方库。classifiers
是项目的分类信息,用于让 PyPI 更好地搜索和归类。
3. 打包项目
打包项目有两种方式:源代码包和二进制包。
源代码包
可以使用以下命令生成源代码包:
python setup.py sdist
生成的源代码包通常会放在 dist/
目录下,文件名为 <name>-<version>.tar.gz
。
二进制包
可以使用以下命令生成二进制包:
python setup.py bdist_wheel
生成的二进制包通常会放在 dist/
目录下,文件名为 <name>-<version>-py3-none-any.whl
。
4. 注册 PyPI 账号
如果没有 PyPI 账号,需要先注册一个账号。
5. 上传包到 PyPI
使用以下命令上传源代码包到 PyPI:
twine upload dist/*
使用以下命令上传二进制包到 PyPI:
twine upload dist/*.whl
在执行上传命令前,需要先安装 twine
包:
pip install twine
示例
以下是一个发布的示例,假设我们要发布的项目名称为 myproject
,版本号为 1.0.0
。
示例一:发布源代码包
- 创建项目目录及文件:
mkdir myproject
cd myproject
touch myproject/__init__.py myproject/module1.py myproject/module2.py tests/__init__.py tests/test_module1.py tests/test_module2.py setup.py README.md LICENSE
-
编写 setup.py 文件。
-
打包源代码包:
python setup.py sdist
会生成 dist/myproject-1.0.0.tar.gz
文件。
-
注册 PyPI 账号。
-
上传包到 PyPI:
twine upload dist/*
示例二:发布二进制包
- 创建项目目录及文件。
- 编写 setup.py 文件。
- 执行以下命令安装
wheel
包:
pip install wheel
- 打包二进制包:
python setup.py bdist_wheel
会生成 dist/myproject-1.0.0-py3-none-any.whl
文件。
-
注册 PyPI 账号。
-
上传包到 PyPI:
twine upload dist/*.whl
总结
本文介绍了如何将自己的 Python 代码发布到 PyPI,使其能够方便地被他人安装使用。需要注意的是,在发布前,需要仔细核对项目信息及打包脚本,确保打包内容准确且符合规范。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何将自己的python代码发布在pip install给别人使用你知道吗 - Python技术站