【python实操】python脚本封装成 pip 包并上传

【python实操】python脚本封装成 pip 包并上传

  • 1. 打包文件目录结构创建
    • 1.1 myuploadtest(需替换为自己的包名)
    • 1.2 setup.py
    • 1.3 README.rst
    • 1.4 包名选择注意事项
  • 2. 本地安装及测试 python 包
    • 2.1 本地安装
    • 2.2 本地测试
  • 3. pip 打包、上传及测试
    • 3.1 打包
    • 3.2 上传
    • 3.3 测试

  • 官网链接:pypi官网(需要注册登录)
  • 本文以 myuploadtest 为包名进行举例,实际处理中需换成自己的包名。

1. 打包文件目录结构创建

  • 在本地需要按照下述目录结构进行创建。
    {myuploadtest}/						# 包名可替换
    ├── myuploadtest					# 包名可替换
    │   ├── __init__.py
    │   └── test.py						# 脚本名称可替换
    ├── setup.py
    └── README.rst
    

1.1 myuploadtest(需替换为自己的包名)

  • __init__.py:脚本接口文件。
    在这里插入图片描述
  • test.py:核心,具体功能实现脚本。
    【python实操】python脚本封装成 pip 包并上传_第1张图片

1.2 setup.py

  • 构建脚本,描述文件的详细信息供打包使用,如包名、版本号等。
    【python实操】python脚本封装成 pip 包并上传_第2张图片
  • 代码内容:
    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='[email protected]',
          url='',
          install_requires=[],	# 依赖包会同时被安装
          license='MIT',
          packages=find_packages())
    

1.3 README.rst

  • 使用 reStructuredText 语法的文件进行项目描述,此文件即为项目主页,可详细介绍有关的所有内容,如项目功能、安装及使用等。
    【python实操】python脚本封装成 pip 包并上传_第3张图片

1.4 包名选择注意事项

  • 在取包名时,应现在官网已发布包中搜索包名,包名需不存在或未注册才可保证后续上传成功。
    【python实操】python脚本封装成 pip 包并上传_第4张图片

2. 本地安装及测试 python 包

2.1 本地安装

  • 在创建的一级目录内执行 python setup.py install ,即可实现本地的脚本安装。
    在这里插入图片描述
  • 也可以使用 python setup.py develop 安装,这种方式以开发模式进行安装,每次修改代码之后不需要重新安装就可以使用最新的代码,在更新使用时较方便。

2.2 本地测试

  • 在终端中输入 python,开启 python 指令后依次输入 import myuploadtestmyuploadtest.test.test_pip(),看到显示 Test successfully!!! 即成功。
    【python实操】python脚本封装成 pip 包并上传_第5张图片

3. pip 打包、上传及测试

3.1 打包

  • 使用 python setup.py sdist build 构建及打包,完成后可在当前目录下的 dist 文件中找到以 tar.gz 结尾的文件。
    在这里插入图片描述
    【python实操】python脚本封装成 pip 包并上传_第6张图片
  • 使用 python setup.py bdist_wheel 打包 wheel 格式的包,完成后可在当前目录下的 dist 文件中找到以 whl 结尾的文件。
    在这里插入图片描述
    【python实操】python脚本封装成 pip 包并上传_第7张图片

3.2 上传

  • 使用 twine upload --repository-url https://upload.pypi.org/legacy/ dist/* 后输入 usernamepassword 即可完成上传。
    【python实操】python脚本封装成 pip 包并上传_第8张图片
  • 打开官网,在 Your projects 下即可找到上传的 pip 包!
    【python实操】python脚本封装成 pip 包并上传_第9张图片
  • 注意事项!!!
    • 使用用户名和密码上传包会报 ERROR,这是因为目前官方已不支持用户名和密码上传包的功能,需要获取 API 进行上传。见链接: pip 包上传ERROR: Username/Passward authentication is no longer supported.
      【python实操】python脚本封装成 pip 包并上传_第10张图片

3.3 测试

  • 在本地环境中使用 pip install myuploadtest 安装。
    在这里插入图片描述
  • 编写测试脚本。
    【python实操】python脚本封装成 pip 包并上传_第11张图片
  • 运行测试脚本后输出Test successfully!!! 即成功。
    在这里插入图片描述
    参考链接: 官方文档-如何打包你的 python 代码

你可能感兴趣的:(Python,实操,python,pip)