paster controller hello
这样一个命令的调用入口,也来弄个清楚,在paste script包的entry_points.txt中没有controller的入口

[paste.global_paster_command]
help=paste.script.help:HelpCommand
create=paste.script.create_distro:CreateDistroCommand [Templating]
serve=paste.script.serve:ServeCommand [Config]
exe=paste.script.exe:ExeCommand
points=paste.script.entrypoints:EntryPointCommand
make-config=paste.script.appinstall:MakeConfigCommand
setup-app=paste.script.appinstall:SetupCommand

那么就到pylons下去找,终于在pylons包下的entry_points.txt中找到了。
[paste.paster_command]
controller=pylons.commands:ControllerCommand
compile_templates=pylons.commands:CompileCommand

那在helloworld这个project下,怎么就运行一下paster controller就知道到pylons包去找呢?注意在helloworld.egg-info目录下有个特别的文本文件paster_plugins.txt,它的内容是:
Pylons
WebHelpers
PasteScript

估计是在这里进行导入import这些包,并在paste包command.py,get_commands()调用pluginlib.py的函数。而pluginlib.py中的resolve_plugins()会去找到egg-info下的paster_plugins.txt,加载其中的包之后,就会到相应的包下去查各自的东西。但它怎么是大写开头?没有弄懂。