Python Buildout和zc.recipe.egg:脚本:生成解释器时的奇怪行为
我使用Python Buildout和zc.recipe.egg:脚本:生成解释器时的奇怪行为,python,buildout,Python,Buildout,我使用zc.recipe.egg:scripts来生成一个bin/python脚本,该脚本将能够导入我的开发egg(在基于自定义构建的项目中)。我的buildout.cfg如下所示: [buildout] develop = develop-eggs/MyPackage.MyLib develop-eggs/MyPackage.MyLib2 develop-eggs/MyPackage.MyLib3 parts = interpreter [...] [
zc.recipe.egg:scripts
来生成一个bin/python
脚本,该脚本将能够导入我的开发egg(在基于自定义构建的项目中)。我的buildout.cfg
如下所示:
[buildout]
develop =
develop-eggs/MyPackage.MyLib
develop-eggs/MyPackage.MyLib2
develop-eggs/MyPackage.MyLib3
parts =
interpreter
[...]
[interpreter]
recipe = zc.recipe.egg:scripts
interpreter = python
eggs =
MyPackage.MyLib
MyPackage.MyLib2
MyPackage.MyLib3
在我添加MyPackage.MyLib3
之前,一切正常(一如既往)。这个不想包括在内。我检查了setup.py
、buildout.cfg
将近10次,然后开始研究zc.recipe.egg:script
我发现的是。。。奇怪。这是我第一次看到,我不知道发生了什么
在zc.buildout-2.1.1-py2.6.egg/zc/buildout/easy_install.py
egg文件第1169行中,我添加了两小行以查看发生了什么:
import pdb
pdb.set_trace()
它成功了。这次脚本生成得很好,我可以导入MyPackage.MyLib3
。我试图删除pdb行,但脚本中没有包含MyPackage.MyLib3
我在PDB界面上时没有做任何事情(只是下一步并继续)
测试了3次,3次相同:如果我编辑文件zc.buildout-2.1.1-py2.6.egg/zc/buildout/easy_install.py
,那么bin/python
脚本生成得很好;但是如果我撤消编辑,脚本将不包括developegMyPackage.MyLib3
你知道它是怎么来的吗?也许这不是生成Python脚本的正确方法 我发现了这个问题
事实上,生成名为python的解释器不是一个好主意:其他一些脚本也在生成特定的站点包解释器。然后我只是将我的解释器
部分更改如下:
[interpreter]
recipe = zc.recipe.egg:scripts
interpreter = py # avoiding conflicts with some other interpreters
eggs =
[...]
现在我用bin/py
执行脚本