情况如下:
尝试在我的包中添加一些内容类型失败:
[ajung@dev1 nva.aktionsmittel]$ bin/paster addcontent
Command 'addcontent' not known (you may need to run setup.py egg_info)
运行setup.py egg_info没有帮助。
setup.py包含:
setup.py: paster_plugins=["ZopeSkel"]
setup.cfg包含:
[zopeskel]
template = archetype
为了使“paster addcontent”正常工作,本地命令背后的魔力是什么? 它应该在其他情况下工作吗?!
答案 0 :(得分:4)
ZopeSkel 2问题
你正在关注一个糟糕的教程。请确保
您按照此处的具体说明http://collective-docs.readthedocs.org/en/latest/getstarted/paste.html#adding-zopeskel-to-your-buildout - paster命令必须来自buildout
如果您没有按照上面的链接进行操作,请提供指向您所关注说明的页面的链接,我可以点燃该页面,因为它包含误导性说明。
确保您使用的贴纸来自buildout(从您的命令行来看似乎不是这样)。
确保您的鸡蛋在eggs =
部分
确保您的setup.py包含必要的样板http://collective-docs.readthedocs.org/en/latest/getstarted/paste.html#how-paster-local-commands-work(注意:示例是ZopeSkel 3 +)
这是让paster正确识别你的蛋及其依赖关系的方法,因此本地命令可以正常工作。
ZopeSkel 3问题(看似无关)
最近ZopeSkel发生了变化,这意味着如果你使用ZopeSkel 3+,你需要在运行命令时进入src
文件夹。
请参阅此处的注释:
https://github.com/collective/templer.plone.localcommands/#executing-local-commands
答案 1 :(得分:1)
为了使paster localcommand能够运行,必须从包含.egg-info目录(或其中的子目录)的同一目录中调用它。如果pasterns无法找到.egg-info目录,则无法运行本地命令。 Paster使用.egg-info目录的位置来定位setup.cfg,然后用于确定是否有任何本地命令入口点可用。
检查您的包中是否生成了.egg-info目录,以及是从同一位置还是子文件夹调用paster。