python想生成linux命令行可用软件应该如何做打包,pythonlinux,最近写了一个小工具,用s


最近写了一个小工具,用setuptools打包,安装后 import 可以导入,如果我想生成一个命令行直接可以运行程序要怎么做?

pyInstaller能够打包成单个可执行文件,支持Linux,windows,mac os x

直接用Shebang指定解释器为python,然后link到/usr/local/bin

用 console_scripts。给你个例子好了:

#!/usr/bin/env python3# vim:fileencoding=utf-8from setuptools import setup, find_packagesimport nvcheckersetup(  name = 'nvchecker',  version = nvchecker.__version__,  packages = find_packages(),  install_requires = ['tornado'],  entry_points = {    'console_scripts': [      'nvchecker = nvchecker.main:main',      'nvtake = nvchecker.tools:take',      'nvcmp = nvchecker.tools:cmp',    ],  },  author = 'lilydjwg',  author_email = 'lilydjwg@gmail.com',  description = 'New version checker for software',  license = 'MIT',  keywords = 'new version build check',  url = 'https://github.com/lilydjwg/nvchecker',)

确保文件第一行这么写,其中X用你自己代码对应的python版本就可以了,比如3
#!/usr/bin/env pythonX
然后将这个文件权限修改为可执行
chmod +x yourpyfile
然后讲该文件的目录加入path或者把该文件放到或者连接到path中的任何目录
比如你曾export PATH="$PATH:~/bin"过这个目录,你可以mv path/to/youpyfile ~/bin或者ln -s path/to/youpyfile ~/bin/yourcmd
这样就可以在命令行里面使用了。

打包的時候指定 console_script

http://guide.python-distribute.org/creation.html#entry-points

编橙之家文章,

评论关闭