python怎么打包生成linux命令行可用软件?

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

阅读 16.1k
5 个回答

console_scripts。给你个例子好了:

#!/usr/bin/env python3
# vim:fileencoding=utf-8

from setuptools import setup, find_packages
import nvchecker

setup(
  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',
)

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

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

确保文件第一行这么写,其中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
这样就可以在命令行里面使用了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题