使python包表现为本机cli应用程序

时间:2014-11-12 20:00:22

标签: python linux command-line

我有一个python包,我可以在命令行上使用

python -m pkgname [args]

我想给它类似原生的行为(在linux上)

pkgname [args]

我该怎么做?

4 个答案:

答案 0 :(得分:1)

$ sudo chmod a+x pkname.py
$ ln -s $(pwd)/pkgname.py /usr/bin/pkgname

这与python无关(第一行使其可执行......第二行将其映射到路径上的某个位置

确保pkname.py的第一行是

#!/usr/bin/env python

答案 1 :(得分:1)

使用shebang

也许就像把它放在剧本的第一行:

#!/usr/bin/env python

此外,您必须使用chmod +x pkgname.py使其可执行,并使其可用于路径。

答案 2 :(得分:1)

您可以在包文件的前面添加shebang来使用#!/usr/bin/python行!然后在终端中运行chmod +x pkgname.py使您的包可执行!

作为替代答案,您可以使用alias

alias pkgname="python -m pkgname"

答案 3 :(得分:1)

您可以编写将安装该软件包的setup.py script。编写完setup.py后,可以在本地安装软件包

python setup.py install

或以多种方式构建软件包(好吧,少于几亿),您可以将软件复制到所需的计算机上。目前的包装热潮是python + pip + wheel,所以

python setup.py bdist_wheel 

创建一个名称编码几个细节的文件,查看dist / * .whl以查明它是什么。然后在目标机器上

pip intall path/to/the/crazily-named.whl