setup - python怎么打包生成linux命令行可用软件?
PHP中文网
PHP中文网 2017-04-17 13:04:36
[Python讨论组]

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

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(5)
巴扎黑

打包的時候指定 console_script

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

巴扎黑

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

PHPz

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

迷茫

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',
)
阿神

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号