【发布时间】:2009-05-28 18:01:54
【问题描述】:
是否可以运行“paster shell blah.ini”(或其变体)并让它自动加载某些库?
我讨厌总是在每个 paste shell 中输入“from foo.bar import mystuff”作为第一个命令,并希望计算机为我完成。
【问题讨论】:
是否可以运行“paster shell blah.ini”(或其变体)并让它自动加载某些库?
我讨厌总是在每个 paste shell 中输入“from foo.bar import mystuff”作为第一个命令,并希望计算机为我完成。
【问题讨论】:
一个尝试的选项是创建一个 sitecustomize.py 脚本。如果你把它和你的 paste shell 放在同一个文件夹中,python 解释器应该在启动时加载它。
让我澄清一下,如果找到 sitecustomize.py,它总是在解释器启动时加载。所以如果你把它放在可以找到的地方,理想情况下只有在 paste shell 启动时才能找到,那么你应该能够将你的导入添加到它并准备好它们。
这可能是您最好的选择。如果 paste shell 是一个打包的应用程序(la py2exe),它应该仍然可以工作。
另见:
http://www.rexx.com/~dkuhlman/pylons_quick_site.html#using-an-ipython-embedded-shell http://pylonshq.com/project/pylonshq/ticket/428
【讨论】:
如果您将环境变量 PYTHONSTARTUP 设置为文件名,它将在打开交互式提示时执行该文件。
我对 pastell shell 一无所知,但我认为它的工作原理类似。
或者,您可以查看 iPython,它具有更强大的功能(尤其是与 readline 库一起安装时)。例如 %run 允许您在当前命名空间中运行脚本,或者您可以使用历史完成。
编辑:
好的。仔细研究了一下,我相当肯定 paster shell 只是做了一组有用的导入,并且可以很容易地用一个简短的脚本和 ipython 复制,然后 %run myscript.py
编辑:
查看源代码后,很难做到(我错了默认导入。它也会解析你的配置文件),但是如果你同时安装了 Pylons 和 iPython,那么 paste shell 应该使用 iPython自动地。仔细检查两者都正确安装,并仔细检查 paste shell 没有使用 iPython(它可能看起来像普通的 python 提示符)。
【讨论】: