Python pip如何使包可执行?
在Ubuntu14.04上使用sudo pip install fabric安装之后,我可以在控制台中使用fab命令,它实际上是一个可执行脚本/usr/local/bin/fab 据我所知,sudopip安装将把一个包放在/usr/local/lib/python2.7/dist-packages下,我没有找到一些复制操作来将脚本fab放入/usr/local/bin 因此,sudo pip安装fabric时如何将文件fab放入/usr/local/bin?pip不这样做,包setup.py通过。pip所做的就是找到该包,下载它并在该包中运行python setup.py install来安装它 setuptools有一个任意的配置,可以插入Python代码中查找这些设置。一个这样的入口点是console_脚本入口点,它命名命令和用于运行它们的Python module plus函数。政府有:Python pip如何使包可执行?,python,ubuntu,pip,Python,Ubuntu,Pip,在Ubuntu14.04上使用sudo pip install fabric安装之后,我可以在控制台中使用fab命令,它实际上是一个可执行脚本/usr/local/bin/fab 据我所知,sudopip安装将把一个包放在/usr/local/lib/python2.7/dist-packages下,我没有找到一些复制操作来将脚本fab放入/usr/local/bin 因此,sudo pip安装fabric时如何将文件fab放入/usr/local/bin?pip不这样做,包setup.py通过
entry_points={
'console_scripts': [
'fab = fabric.main:main',
]
},
这会告诉setuptools创建一个fab命令,在调用fabric.main模块时,该命令将运行该模块中的main函数
请参阅setuptools文档中的。pip不执行此操作,而是通过软件包setup.py执行此操作。pip所做的就是找到该包,下载它并在该包中运行python setup.py install来安装它
setuptools有一个任意的配置,可以插入Python代码中查找这些设置。一个这样的入口点是console_脚本入口点,它命名命令和用于运行它们的Python module plus函数。政府有:
entry_points={
'console_scripts': [
'fab = fabric.main:main',
]
},
这会告诉setuptools创建一个fab命令,在调用fabric.main模块时,该命令将运行该模块中的main函数
请参阅setuptools文档中的。未提及控制台脚本的放置位置。所以/usr/loca/bin是在setuptools中定义的,不能由包开发人员配置,对吗?@Chad:它是由sys.exec_prefx,IIRC定义的,您将python二进制文件安装到其中的位置。@Chad:您可以创建一个virtualenv并将Fabric安装到其中;然后使用virtualenv bin/path。@Chad:但是,不,包开发人员不能说明控制台脚本安装在哪里,不。没有提到控制台脚本放在哪里。所以/usr/loca/bin是在setuptools中定义的,不能由包开发人员配置,对吗?@Chad:它是由sys.exec_prefx,IIRC定义的,您将python二进制文件安装到其中的位置。@Chad:您可以创建一个virtualenv并将Fabric安装到其中;然后使用virtualenv bin/path。@Chad:但是不,包开发人员不能说明控制台脚本安装在哪里,不。