最近写了一个小工具,用setuptools打包,安装后 import
可以导入,如果我想生成一个命令行直接可以运行程序要怎么做?
用 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
这样就可以在命令行里面使用了。
7 回答5.3k 阅读
4 回答4.5k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
4 回答4k 阅读
4 回答3.8k 阅读✓ 已解决
2 回答5.9k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
打包的時候指定 console_script
http://guide.python-distribute.org/creation.html#entry-points