zoukankan      html  css  js  c++  java
  • 如何在Pypi发布上传你自己的Python库

    Pypi上传包

     

    准备

    Windows环境

    *以下教程只能在Windows上执行,MACOS系统不能使用

    注册账号

    你需要在Pypi上注册一个账号。

    安装必要的库

    setuptools

    原则上安装了pip的环境都有setuptools,但并不影响你去尝试升级一下它。

    pip install --upgrade setuptools

    twine

    这是一个简化将库发布到Pypi上流程的工具,具体的使用之后会讲到。

    pip install --upgrade twine

    克隆仓库(推荐)

    大名鼎鼎的requests库的作者大神kennethreitz为大家准备了一个仓库作为一个setup.py的很好的模板,当然你也可以自己手写setup.py。

    git clone  https://github.com/kennethreitz/setup.py

     

    编码

    编辑setup.py

    建议大家直接编辑之前的仓库里的setup.py, 只需要修改一些必要的配置就可以了。这是我最近编写的库condition_chain的配置。

    ...
    
    # Package meta-data.
    
    NAME = 'condition_chain'
    
    DESCRIPTION = 'Process a series of conditional judgement with a chained call.'
    
    URL = 'https://github.com/duyixian1234/condition_chain'
    
    EMAIL = 'duyixian1234@outlook.com'
    
    AUTHOR = 'Yixian Du'
    
     
    
    # What packages are required for this module to be executed?
    
    REQUIRED = [
    
        # 'requests', 'maya', 'records',
    
    ]
    
    ...

    编写核心代码

    接下来我们就可以编写自己的代码了,要注意源代码文件夹(仓库里的my_package文件夹)的名字与setup.py里配置的包名(Name)要一致。
    另外在重新上传之前我们要修改__version__.py里的版本号,以免覆盖了以前的上传(相信会有人是需要之前版本的库的)。
    最终的代码结构

    │  LICENSE
    
    │  MANIFEST.in
    
    │  README.rst
    
    │  setup.py
    
    │
    
    └─condition_chain
    
            core.py
    
            __init__.py
    
            __version__.py

    打包上传

    在setup.py的同级目录下运行以下命令。

    python setup.py sdist

    然后运行

    twine upload dist/*

    注意要输入Pypi账号和密码。

     

    大功告成!

  • 相关阅读:
    MYSQL读写分离
    AIR loadbytes executable code error 解决办法
    文本处理常用命令
    使用awk找出两个大文件的相同部分
    nginx修改php.ini无效的解决办法
    python 正则表达式反向引用的问题
    解决memcached错误:Catastrophic: event fd doesn't match conn fd
    php编译iconv错误解决办法
    grep剔除两个文件中相同部分
    周末闲话
  • 原文地址:https://www.cnblogs.com/Barrybl/p/12090534.html
Copyright © 2011-2022 走看看