Answers:
使用环境变量PYTHONSTARTUP。根据官方文档:
如果这是可读文件的名称,则在以交互方式显示第一个提示之前,将执行该文件中的Python命令。在与执行交互命令相同的名称空间中执行文件,以便在其中定义或导入的对象可以在交互会话中使用而无需限定。
因此,只需使用import语句创建一个python脚本,然后将环境变量指向该脚本即可。话虽如此,请记住,“显式总是比隐式更好”,因此不要在生产脚本中依赖此行为。
对于Ipython,请参阅本教程,了解如何制作ipython_config文件
env PYTHONSTARTUP="~/.startup.py"
对我不起作用
export PYTHONSTARTUP=~/.python_shell_startup.py
设置变量。
对于ipython,有两种方法可以实现此目的。两者都涉及位于的ipython的配置目录~/.ipython
。
~/.ipython/profile_default/startup/
为简单起见,我将使用选项2。您所要做的就是在目录中放置一个.py
或.ipy
文件,~/.ipython/profile_default/startup
它将自动执行。因此,您可以将其放置import numpy as np
在简单文件中,然后在ipython提示符的名称空间中使用np。
选项2实际上将与自定义配置文件一起使用,但是使用自定义配置文件将使您可以根据特定情况更改启动要求和其他配置。但是,如果您始终希望np
有空,请务必将其放在启动目录中。
有关ipython配置的更多信息。该文档有一个更完整的解释。
~/.config/ipython/profile_default/startup/
而不是~/.ipython/profile_default/startup/
我使用〜/ .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将在启动shell时使用它。
打印语句在那里,因此当我启动外壳程序时,会提醒我它已经生效,并且已经导入了什么内容。该pp
快捷方式实在是太好用太...
~
可以代替$HOME
,但是我不得不在MacOS,fish和python3上使用绝对路径,而不是相对路径。
虽然在大多数情况下创建诸如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',
]
在Linux上,作为可接受答案的更简单替代方法:
只需定义一个别名即可,例如放入alias pynp='python -i -c"import numpy as np"'
您的〜/ .bash_aliases文件中。然后pynp
,您可以使用调用python + numpy ,并且仍然可以仅使用python python
。Python脚本的行为保持不变。
PYTHONSTARTUP
仅在交互模式下调用,因此python脚本的行为始终保持不变。也可以使用文件引用创建别名:alias pynp='PYTHONSTARTUP="~/.startup.py" python'
正如ravenac95在他的回答中提到的那样,您可以创建自定义配置文件或修改默认配置文件。此答案是import numpy as np
自动需要的Linux命令的快速视图。
如果要使用名为的定制概要文件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
以了解启动目录的工作方式。