扫码关注官方订阅号
最近写了一个小工具,用setuptools打包,安装后 import 可以导入,如果我想生成一个命令行直接可以运行程序要怎么做?
import
认证高级PHP讲师
打包的時候指定 console_script
http://guide.python-distribute.org/creation.html#entry-points
直接用Shebang指定解释器为python,然后link到/usr/local/bin
pyInstaller能够打包成单个可执行文件,支持Linux,windows,mac os x
pyInstaller
用 console_scripts。给你个例子好了:
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 这样就可以在命令行里面使用了。
3
#!/usr/bin/env pythonX
chmod +x yourpyfile
export PATH="$PATH:~/bin"
mv path/to/youpyfile ~/bin
ln -s path/to/youpyfile ~/bin/yourcmd
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
打包的時候指定 console_script
http://guide.python-distribute.org/creation.html#entry-points
直接用Shebang指定解释器为python,然后link到/usr/local/bin
pyInstaller能够打包成单个可执行文件,支持Linux,windows,mac os x用
console_scripts。给你个例子好了:确保文件第一行这么写,其中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这样就可以在命令行里面使用了。