天天看点

打包上传自己的Pypi 亲身填坑 绝对可用

文章目录

    • 简介
    • 注册
    • 安装setuptools
    • setup.py
    • 其他
    • 安装twine
    • 上传

简介

首先我对于pypi其实并没有特别的见解,也用的不是很熟练,但是我经历了一次非常痛苦的上传过程。

主要是版本、格式、python更新过快等问题。

其他的博客说的其实很多如何去上传打包,但是要不是过时了,要不就是写的不是很浅显。

所以如果你就是想尽快上传成功一个自己的pypi包,那么你来对了,继续看下去吧,绝对没有浪费你的时间。

这次我是想上传一个用pytorch写的feature column,我就用这个当做这次的示例。

注册

首先你要有一个pypi的账号,这里不细讲了,因为教程太多了。

安装setuptools

pip install setuptools

如果你已经下载了,也要去更新一下,老的版本很容易出现问题。

pip install --upgrade setuptools
打包上传自己的Pypi 亲身填坑 绝对可用

setup.py

这是最重要的,这个大同小异,

#!/usr/bin/env python
# coding=utf-8

from setuptools import setup, find_packages

setup(
    name='<项目的名称>',
    version=<项目版本>,
    description=(
        '<项目的简单描述>'
    ),
    long_description=open('README.rst').read(),
    author='<你的名字>',
    author_email='<你的邮件地址>',
    maintainer='<维护人员的名字>',
    maintainer_email='<维护人员的邮件地址',
    license='BSD License',
    packages=find_packages(),
    platforms=["all"],
    url='<项目的网址,我一般都是github的url>',
    install_requires=[
        'numpy',
        'pandas',
    ],
)
           

直接复制这个就可以了,然后修改其中的信息,很简单的。

然后添加README.md,这里我习惯使用markdown,当然如果你喜欢rst也是可以的。

我的README.md

打包上传自己的Pypi 亲身填坑 绝对可用

就类似这样就好,我写的比较简单。

其他

其实添加完上面的两个文件已经可以了, 这里我并没有添加requirement.txt

安装twine

直接pip install就可以了

我知道有两种上传方法,这里我强烈建议使用twine,别用python setup.py upload 这种,具体的我会在后面的坑中总结。

上传

首先cd到和setup.py 还有 README同级的目录。

  1. 检查setup.py
python setup.py check

如果没有输出就可以小小的庆祝一下了。

  1. build翻译过来就是打包

我习惯总是上传之前build一下, 但是有两种包:

  • python setup.py sdist build
  • python setup.py bdist_wheel upload

我个人比较推荐第二种。

打包上传自己的Pypi 亲身填坑 绝对可用
  1. upload
打包上传自己的Pypi 亲身填坑 绝对可用

dist是build过程之后生成的。

然后输入用户名和密码,就是pypi的账号

打包上传自己的Pypi 亲身填坑 绝对可用

然后刷新一下pypi:

打包上传自己的Pypi 亲身填坑 绝对可用

使用python setup.py 中register被弃用了。

然后看到网上说跳过register就可以了,但是

打包上传自己的Pypi 亲身填坑 绝对可用

不知道为什么,还望大家能帮忙解惑。

大家共勉~