在交互模式下未加载pythonrc.py

10

我已经在我的主目录下添加了一个名为.pythonrc.py的脚本,并包含以下命令:

import os
import sys
print 'Welcome'

我通过运行 python .pythonrc.py 或者在 Python 解释器中执行 execfile('.pythonrc.py') 确认了该脚本可以被执行。然而,当我进入交互模式时,似乎脚本从未被加载。调用 os 或 sys 方法会返回错误,指出 os 或 sys 未定义。有人遇到过这种情况吗?有什么建议吗?

我在 Ubuntu 10 服务器上运行 Python 2.6。

谢谢!


我遇到了相反的问题。我在环境中没有设置PYTHONSTARTUP,但是当我运行shell时,Python仍然会加载~/.pythonrc.py。我会得出结论这是内置的默认行为,但我在python.org上找不到关于此功能的任何参考,所以我感到困惑。 - odigity
搞定了 - 这是 Django 的魔法(叹气):https://github.com/django/django/blob/stable/3.2.x/django/core/management/commands/shell.py - odigity
1个回答

19

你应该设置环境变量PYTHONSTARTUP指向你创建的启动脚本。

在Ubuntu中,你可以编辑文件~/.bashrc并在末尾添加此行:

export PYTHONSTARTUP=~/.pythonrc.py

现在你应该开启一个新的命令行窗口并运行Python。

希望能有所帮助 :)


@Corey Kennedy:很高兴能帮到您 :) - mouad
如果您不想启动新的shell,只需在编辑完后运行source .bashrc即可。 - ospider
在具有Bash Unix shell的Linux发行版中,要避免启动新的终端仿真器实例,可以运行“exec bash”,然后启动Python交互式shell。 - noobninja

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接