zoukankan      html  css  js  c++  java
  • Pypi 发布自己的包

    1. 注册Pypi
    2. 验证注册邮箱
    3. 用我的一个包(git-clone)举例
      • 供参考项目:
      • 必须的文件及文件夹
        1. 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']) #我这里没用到, 这个是安装你的包环境要求
          
        2. README.rst

          • 懒得写, 我就直接放github的链接了
          https://github.com/dhgdhg/git-clone/
          
        3. 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 命令中的参数
          
        4. git_clone文件下的__init__.py

          from .git_clone import git_clone
          
      • 可选的文件及文件夹
        1. README.md
          • 用markdonw书写, 上传到github时用于项目介绍
        2. requirements/requirements.txt
        • 环境要求 方便直接安装需要的库
    4. 生成pip安装文件
      • pip install wheel
      • python setup.py sdist bdist_wheel --universal
      • 你会发现多个文件夹dist
        • dist中的文件你可以先用pip install 测试下能不能用
    5. 上传到pypi
      • 安装twine
        • pip install twine
      • 上传文件
        • twine upload dist/*
        • 会提示你输入用户名, 然后输入密码, 注意密码不要复制粘贴, 要手输, 别问我怎么知道的
  • 相关阅读:
    Synchronized和Lock的实现原理和锁升级
    如何禁止CPU指令重排
    MESI缓存一致性
    归并排序
    强软弱虚四种引用和ThreadLocal内存泄露
    VINS-Mono代码分析与总结(完整版)
    IMU误差模型与校准
    小感
    K8S conul部署
    Centos Consul集群及Acl配置
  • 原文地址:https://www.cnblogs.com/edhg/p/10548388.html
Copyright © 2011-2022 走看看