【python实操】python脚本封装成 pip 包并上传
- 官网链接:pypi官网(需要注册登录)
- 本文以 myuploadtest 为包名进行举例,实际处理中需换成自己的包名。
1. 打包文件目录结构创建
- 在本地需要按照下述目录结构进行创建。
{myuploadtest}/ # 包名可替换 ├── myuploadtest # 包名可替换 │ ├── __init__.py │ └── test.py # 脚本名称可替换 ├── setup.py └── README.rst
1.1 myuploadtest(需替换为自己的包名)
- __init__.py:脚本接口文件。
- test.py:核心,具体功能实现脚本。
1.2 setup.py
- 构建脚本,描述文件的详细信息供打包使用,如包名、版本号等。
- 代码内容:
from distutils.core import setup from setuptools import find_packages with open("README.rst", "r") as f: long_description = f.read() setup(name='myuploadtest', # 包名 version='0.1.0', # 版本号 description='test pip upload', long_description=long_description, author='lily', author_email='2239041944@qq.com', url='', install_requires=[], # 依赖包会同时被安装 license='MIT', packages=find_packages())
1.3 README.rst
- 使用
reStructuredText
语法的文件进行项目描述,此文件即为项目主页,可详细介绍有关的所有内容,如项目功能、安装及使用等。
1.4 包名选择注意事项
- 在取包名时,应现在官网已发布包中搜索包名,包名需不存在或未注册才可保证后续上传成功。
2. 本地安装及测试 python 包
2.1 本地安装
- 在创建的一级目录内执行
python setup.py install
,即可实现本地的脚本安装。
- 也可以使用
python setup.py develop
安装,这种方式以开发模式进行安装,每次修改代码之后不需要重新安装就可以使用最新的代码,在更新使用时较方便。
2.2 本地测试
- 在终端中输入
python
,开启python
指令后依次输入import myuploadtest
、myuploadtest.test.test_pip()
,看到显示 Test successfully!!! 即成功。
3. pip 打包、上传及测试
3.1 打包
- 使用
python setup.py sdist build
构建及打包,完成后可在当前目录下的 dist 文件中找到以tar.gz
结尾的文件。
- 使用
python setup.py bdist_wheel
打包 wheel 格式的包,完成后可在当前目录下的 dist 文件中找到以whl
结尾的文件。
3.2 上传
- 使用
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
后输入username
和password
即可完成上传。
- 打开官网,在 Your projects 下即可找到上传的 pip 包!
- 注意事项!!!
- 使用用户名和密码上传包会报 ERROR,这是因为目前官方已不支持用户名和密码上传包的功能,需要获取 API 进行上传。见链接: pip 包上传ERROR: Username/Passward authentication is no longer supported.
- 使用用户名和密码上传包会报 ERROR,这是因为目前官方已不支持用户名和密码上传包的功能,需要获取 API 进行上传。见链接: pip 包上传ERROR: Username/Passward authentication is no longer supported.
3.3 测试
- 在本地环境中使用
pip install myuploadtest
安装。
- 编写测试脚本。
- 运行测试脚本后输出Test successfully!!! 即成功。
参考链接: 官方文档-如何打包你的 python 代码