自动进入Python或IPython的解释时,进口模块自动进入Python或IPython的解释时,

2019-06-02 14:41发布

我发现自己打字import numpy as np几乎每一次我火了Python解释器。 如何设置了Python或IPython的解释,这样numpy的自动导入?

Answer 1:

使用环境变量PYTHONSTARTUP 。 从官方文档:

如果这是一个可读的文件的名称,之前被显示在交互模式中的第一提示该文件中的Python命令被执行。 该文件在交互式命令被执行,以便在它定义或导入的对象可以不加限定在交互式会话中使用的相同的命名空间来执行。

所以,只要创建一个import语句Python脚本和环境变量指向它。 说了这么多,记住“明确总是优于隐”,所以不要依赖此行为的生产脚本。

对于IPython的,看到这个就如何使一个ipython_config文件教程



Answer 2:

对于IPython中,有两种方法可以实现这一目标。 两者都涉及其中位于IPython中的配置目录~/.ipython

  1. 创建自定义的IPython配置文件。
  2. 或者你可以添加一个启动文件到~/.ipython/profile_default/startup/

为简单起见,我会使用选项2,所有你需要做的是放置.py.ipy在文件~/.ipython/profile_default/startup目录下,它会自动执行。 所以,你可以简单的地方import numpy as np在一个简单的文件,你会在你的IPython提示的命名空间具有np。

选项2将实际上自定义配置文件的工作,但使用自定义配置文件将允许您更改基于特定的情况下,启动需求和其他配置。 不过,如果你总是喜欢np是提供给你然后通过各种手段把它放在启动目录。

有关IPython中配置的详细信息。 该文档有一个更完整的解释。



Answer 3:

我用这样的〜/ .startup.py文件:

# Ned's .startup.py file
print("(.startup.py)")
import datetime, os, pprint, re, sys, time
print("(imported datetime, os, pprint, re, sys, time)")

pp = pprint.pprint

然后定义PYTHONSTARTUP =〜/ .startup.py,和启动一个外壳时Python将使用它。

打印语句在那里,所以当我开始壳,我得到一个提醒,它的生效,哪些已经被导入。 该pp快捷方式实在是太好用太...



Answer 4:

在创建自定义的启动脚本像ravenac95 表明 ,对于大多数情况最好的一般的答案,也不会在你想要使用的情况下工作, from __future__ import X 。 如果你有时在Python 2.x的工作,但要使用现代的划分,只有一个办法做到这一点。 一旦你创建一个配置文件,编辑profile_default (在Ubuntu这个位于~/.ipython/profile_default ),并添加类似下面的底部:

c.InteractiveShellApp.exec_lines = [
    'from __future__ import division, print_function',
    'import numpy as np',
    'import matplotlib.pyplot as plt',
    ]


Answer 5:

作为一个简单的替代方法,以公认的答案,在Linux上:

只是定义一个别名,如把alias pynp='python -i -c"import numpy as np"'在你的〜/ .bash_aliases文件。 然后,您可以调用的python + numpy的与pynp ,你仍然可以只使用Python和python 。 Python脚本行为保持不变。



Answer 6:

作为ravenac95在他提到的回答 ,您可以创建自定义配置文件或修改默认的配置文件。 这个答案是所需的Linux命令快速查看import numpy as np自动。

如果你想使用称为自定义配置文件numpy ,运行:

ipython profile create numpy
echo 'import numpy as np' >> $(ipython locate profile numpy)/startup/00_imports.py
ipython --profile=numpy

或者,如果你想修改默认的配置文件总是导入numpy的:

echo 'import numpy as np' >> $(ipython locate profile default)/startup/00_imports.py
ipython

退房IPython的配置教程阅读更深入地了解有关配置文件。 见.ipython/profile_default/startup/README了解启动目录是如何工作的。



Answer 7:

我默认ipython调用是

ipython --pylab --nosep --InteractiveShellApp.pylab_import_all=False

--pylab一直是ipython一段时间选项。 它进口numpy和(部分) matplotlib 。 我已经添加了--Inter...选项,所以它不使用*进口,因为我更喜欢使用显式np....

这可能是一个快捷方式,别名或脚本。



Answer 8:

您可以创建一个普通的Python脚本import_numpy.py或任何你喜欢的

#!/bin/env python3
import numpy as np

然后启动它-i标志。

python -i import_numpy.py

像这样会给你灵活选择只有你想为不同的项目模块。



文章来源: Automatically import modules when entering the python or ipython interpreter