使已经上传到pypi的项目可以直接命令行执行

上面讲到怎么将自己的项目上传到pypi,并成功安装使用,但是咱的野心不止如此啊,如果只是这样的话,咱们的模块只能在脚本中引用使用或者在python的解释环境中使用,这不符合装X的的规范啊

image.png

那么怎样能使得我们的模块能够像系统命令一样直接在终端命令行执行呢?

image.png

如上是我的目录结构,我的脚本名为xyscript,圈出来的就是必要的文件,可以根据自己的情况修改。
(注:下文script_name指代脚本名)

其中bin/script_name.py内容为

#! /usr/bin/env python
from script_name.scripts.script_name import main
main()

其中script_name/scripts/init.py 内容可以为空
其中script_name/scripts/script_name.py内容为:

from __future__ import absolute_import

__all__ = ['function1', 'function2', 'function3','main']
from xyscript.api import function1, function2, function3 main

最后重要的是要把脚本定义的接口对应的方法都写到script_name/api.py中。

补充:一般来说,在开发过程中新增的方法和文件如果想立即安装生效,我们可以使用:

$ python setup.py develop

但是开发完成,发布了新的版本后我们想卸载掉develop安装的文件,改成从pypi安装的,这个时候是无法直接uninstall的,需要使用以下命令重新安装一遍:

$ python setup.py install --record files.txt

安装的所有文件将会罗列在files.txt文件中,要么手动一个个按照地址删除,要么使用:

$ cat files.txt | xargs rm -rf

一键删除

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Distutils可以用来在Python环境中构建和安装额外的模块。新的模块可以是纯Python的,也可以...
    MiracleJQ阅读 8,332评论 0 1
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,147评论 0 10
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 8,150评论 1 3
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 5,461评论 0 0
  • 文/江山妖饶 我国道教始祖老子说:“人法地、地法天、天法道、道法自然。”就是说,最终宇宙天地间万事万物均要效法或遵...
    江山妖饶阅读 5,150评论 4 12