欢迎光临散文网 会员登陆 & 注册

在pypi上快速发布你的python包-修正版

2022-12-02 13:48 作者:生信小院  | 我要投稿


一 起因

在之前的推文中有介绍过如何在pypi上打包发布python package,然而,真正打包的时候却发现过程并不是那么顺畅。因此,本次将推出一个补充版,方便相应的读者在遇到这一问题时进行修正或者避坑(所以说,关注本公众号,技术的传播不仅仅只有讲解,还有持续更新)。二 修正过程

Let's start。一开始,笔者是在windows系统中进行python的打包(打包时的路径与src相同)。然而,打包后tar.gz文件将系统的绝对路径打包到压缩包中,即在src文件夹下打包的文件实际上是包含src -> F -> temp -> package_name -> src-> package_name这一路径的。而打包后压缩文件内路径应该是从package_name -> package_name

然而,打包后tar.gz文件将系统的绝对路径打包到压缩包中,即在src文件夹下打包的文件实际上是包含src -> F -> temp -> package_name -> package_name这一路径的。因此,引用包时,需要下面的操作才能实现函数的调用(显然不合理)。

而笔者希望打包后压缩文件内路径应该是从package_name -> package_name,这样在安装相应的模块之后,只需要通过输入以下命令即可实现函数的调用(简单清爽)。

因此,在多次尝试后,笔者发现在linux/ubtuntu系统中打包才能避免这种现象的发生。因此,下文打包方法的示例均是在ubtuntu环境中完成的。

首先,创建一个新目录用于python包安装。这样做的主要目的是为了防止不同python包间的相互影响,具体可见之前的推文《如何不污染服务器的python的包环境》

其次,必然是创建下载包的安装目录啦(pypi_install),至于原因嘛,在之前的推文《如何不污染服务器的python的包环境》里有解释。

第三,安装打包所必须的依赖包

第四,就是将需要发布的包打包(build)

最后,上传即可(twine命令)。

不过,这里也有两个小贴士:

1 在ubtuntu系统下使用python3打包的速度非常慢,且可能出现无法上传的现象。但是采用python进行上传,则无比的丝滑(然而,我的python和python3都是同一版本,略显神奇,有懂得大神可以指导一下)

2  如果读者之前曾上传过同样的包,那么后续再上传的时候则会出现报错。此时,有两种解决方法:一是删除原有包(不建议),另外一种则是发布迭代版本,比如从0.0.1迭代到0.02再发布。

三 惯例小结

上述教程只是算是对前一篇推文的补充。然而,即使这样,也可能无法避免疏漏。另外,笔者能力有限,所提供的方法也不一定是最简便的(对于笔者而言,目前用起来还不错)。因此,本公众号也欢迎其他大神可以不吝赐教


本公众号开发的相关软件,Multi-omics Hammer软件和Multi-omics Visual软件欢迎大家使用。文末是本公众号在其他平台的账户,也欢迎大家关注并多提意见。

Multi-omics Hammer软件下载地址:

https://github.com/wangjun258/Multi-omics-Hammer

Multi-omics Visual软件下载地址:https://github.com/wangjun258/Multi_omics_Visual/releases/tag/Multi_omics_Visual_v1.03

PS:因为本软件是用python脚本撰写,调用了部分依赖包,用户首次使用需要安装python以及对应的包,安装之后便可永久使用。

本公众号开发的相关软件,Multi-omics Hammer软件和Multi-omics Visual软件欢迎大家使用。文末是本公众号在其他平台的账户,也欢迎大家关注并多提意见。

简书:WJ的生信小院

公众号:生信小院

博客园:生信小院

最后,也欢迎各位大佬能够在本平台上:1传播和讲解自己发表的论文;2:发表对某一科研领域的看法;3:想要达成的合作或者相应的招聘信息;4:展示自己以寻找博后工作或者博士就读的机会;5:博导提供博后工作或者博士攻读机会,都可以后台给笔者留言。希望本平台在进行生信知识分享的同时,能够成为生信分析者的交流平台,能够实现相应的利益互补和双赢(不一定能实现,但是梦想总得是有的吧)。

另外,怎么说呢,投币也可,不强求,但奢求。 


在pypi上快速发布你的python包-修正版的评论 (共 条)

分享到微博请遵守国家法律