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

一 起因
在之前的推文中有介绍过如何在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:博导提供博后工作或者博士攻读机会,都可以后台给笔者留言。希望本平台在进行生信知识分享的同时,能够成为生信分析者的交流平台,能够实现相应的利益互补和双赢(不一定能实现,但是梦想总得是有的吧)。
另外,怎么说呢,投币也可,不强求,但奢求。


