2014-11-08 55 views
7

我正在与蟒蛇WHL包以下问题:皮普,车轮和console_scripts

我有我的setup.py定义的单一入口点包。 当我运行pip install .时,它会正确安装包入口点包装。 当我运行python setup.py bdist_wheel后跟pip install thing.whl时,它只安装软件包,而不是入口点。

如何从创建的车轮包中正确安装入口点?

PS:当我解压缩砂轮包时,我找到了带有预期条目的“entrypoints.txt”。它只是没有安装在环境箱中。

+0

我不确定我是否遇到问题。 pip安装方法不起作用? – Eric 2014-11-08 06:13:07

+0

我试着改进一下措辞。 'pip install .'可以工作,但这需要源代码分发。使用滚轮打包并安装软件包不起作用,因为入口点未安装在bin中。 – 2014-11-08 06:23:44

回答

6

轮子用于包括在包中预先产生的控制台脚本包装,但这是次优的,并且文件被删除。安装程序应该生成这些包装脚本,但pip尚未更新后续,请参阅issue 1067

直到pull request 1251是发行版的一部分,你必须使用一个单独的命令来安装控制台脚本:

python -m wheel install-scripts thing.whl 

Setuptools scripts handling轮子文档。

此请求在本月初(2014年11月)合并,并将成为upcoming 6.0 release的一部分。您也可以使用pip将其自身升级到GitHub的开发版本:

pip install git+https://github.com/pypa/pip.git 
+0

如果'pkg_resources.DistributionNotFound'被引发,你可能不得不运行'python -m wheel install ',然后运行'python -m wheel install-scripts pkg',因为这个包可能需要一些东西上班。 – metatoaster 2016-10-08 04:10:58