是否可以使用预先导入的某些模块启动Paster shell?

时间:2009-05-28 18:01:55

标签: python pylons paster

是否可以运行“paster shell blah.ini”(或其变体)并自动加载某些库?

我讨厌总是输入“来自foo.bar import mystuff”作为每个paster shell中的第一个命令,并希望计算机为我做这个。

2 个答案:

答案 0 :(得分:2)

尝试的选项是创建sitecustomize.py脚本。如果你在与paster shell相同的文件夹中,python解释器应该在启动时加载它。

让我澄清一下,如果找到sitecustomize.py,则在解释器启动时始终加载。因此,如果你把它放在可以找到它的地方,理想情况下只有在贴纸外壳启动时才会找到它,那么你应该能够将导入添加到它并使它们准备就绪。

这可能是你最好的选择。如果贴纸外壳是一个打包的应用程序(la py2exe),它应该仍然可以工作。

另见:

http://www.rexx.com/~dkuhlman/pylons_quick_site.html#using-an-ipython-embedded-shell http://pylonshq.com/project/pylonshq/ticket/428

答案 1 :(得分:0)

如果将环境变量PYTHONSTARTUP设置为文件名,它将在打开交互式提示时执行该文件。

我对paster shell一无所知,但我认为它的工作方式类似。

另外,您可以查看iPython,它具有更强大的功能(特别是与readline库一起安装时)。例如,%run允许您在当前命名空间中运行脚本,或者您可以使用历史记录完成。

编辑:

好。仔细研究一下,我相当肯定paster shell只是做了一组有用的导入,可以用一个简短的脚本和ipython轻松复制,然后再%run myscript.py

编辑:

看过源代码后,这很难做到(我的默认导入是错误的。它也解析了你的配置文件),但是如果你安装了Pylons和iPython,那么paster shell应该使用iPython自动的。仔细检查两者是否正确安装,并仔细检查paster shell是否已经使用iPython(它可能看起来像普通的python提示)。