资讯专栏INFORMATION COLUMN

如何在Pypi上发表自己的Python库

nihao / 782人阅读

摘要:准备注册账号很显然地要在上注册一个账号。最终的代码结构打包上传在的同级目录下运行以下命令。大功告成之后我们就可以在里搜索到自己的库了,当然也可以直接通过安装。

背景

最近兴趣使然写了几个Python库,也发布到了Pypi上,虽然没什么人下载,但自己在其他机器上用着也会很方便。这里我向大家介绍一下如何在Pypi上发表自己的Python库。


准备 注册账号

很显然地要在Pypi上注册一个账号。

安装必要的库 setuptools

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

pip install --upgrade setuptools
twine

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

pip install --upgrade setuptools
克隆仓库(推荐)

大名鼎鼎的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 bdist_wheel

然后运行

twine upload dist/*

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


大功告成

之后我们就可以在Pypi里搜索到自己的Python库了,当然也可以直接通过pip安装。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40989.html

相关文章

  • 总下载量超4万次!PyPI发现11个恶意Python包窃取敏感信息

    摘要:表示,这是首次在上传至的恶意软件中发现这种技术。软件开发和版本控制平台还透露,它解决了注册表中的多个缺陷,这些缺陷可能会泄露私有包的名称,并允许攻击者绕过身份验证,在不需要任何授权的情况下发布任何包的版本。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflo...

    不知名网友 评论0 收藏0
  • Python发布自己模块到Pypi

    摘要:学习我们已经感受到他的强大之处,内置模块和强大的第三方模块,省去了我们重复造轮子的过程,谁没有一颗想造轮子的心,今天来发布一个自己的轮子先解释下是官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到。 学习Python我们已经感受到他的强大之处,内置模块和强大的第三方模块,省去了我们重复造轮子的过程,but 谁没有一颗想造轮子的心,今天来发布一个自己的轮子 先解释下PyP...

    zsy888 评论0 收藏0
  • 保姆级教程带你开发优质Python篇【建议收藏】

    摘要:正式的专栏第篇,同学站住,别错过这个从开始的文章前面学委的入门到精通专栏积累了篇文章,当然学委博客还有几十篇应用的文章。 正式的Python专栏第9篇,同学站住...

    hyuan 评论0 收藏0
  • pip更改下载源设置

    摘要:然而时不时会遇上网络不好,下载个包要花很久,甚至超时无法下载的情况。在命令提示符控制台中,输入,进入此目录在该目录下新建名为的文件夹,然后在其中新建文件。 任何一个信息都可以把人分为两类,知道的和不知道的。有些我们已知的信息,自己觉得很平常,却可能对另一些不知道的人来说很有用处。 比如今天要说的这个小技巧,我自己原以为不值一提,网上也很容易搜到。但当数次我把这个告诉别人后,对方惊呼 这...

    April 评论0 收藏0
  • 利用setuptools发布Python程序到PyPI,为Python添砖加瓦

    摘要:众所周知的原因,国内访问国外网站总是不那么顺畅,于是就有了镜像,国内有很多,我用过阿里云的,中科大的,豆瓣的。阿里云的同步的好像不够及时,中科大的好像很及时,所以我就用中科大的。而通过可以指定当个文件作为包。 showImg(https://segmentfault.com/img/bVbsjki?w=742&h=487); pip install的东西从哪里来的? 从PyPI (Py...

    IntMain 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<