我经常从命令行使用 Numpy,并且总是要记住应用一些经常性的设置,例如设置输出格式:
np.set_printoptions(threshold=np.NaN, precision=3, suppress=True, linewidth=180)
是否有一个全局 Numpy 配置文件可以为新的 Python shell 自动执行,或者在导入期间可以执行它?如果没有,是否有一种优雅的方式来实现这种效果?
我经常从命令行使用 Numpy,并且总是要记住应用一些经常性的设置,例如设置输出格式:
np.set_printoptions(threshold=np.NaN, precision=3, suppress=True, linewidth=180)
是否有一个全局 Numpy 配置文件可以为新的 Python shell 自动执行,或者在导入期间可以执行它?如果没有,是否有一种优雅的方式来实现这种效果?
I am not aware of such a configuration file for numpy
(for matplotlib
for example you have the matplotlibrc
file).
But, as a workaround, you can set your environment variable PYTHONSTARTUP
pointing to a Python script that will do whatever you want everytime a Python section starts.
In my case I use it to import numpy as np
, import matplotlib.pyplot as plt
as so on... saving a small amount of "overhead" everytime I want to quickly try something on Python.
Example on Windows:
set PYTHONSTARTUP=C:\Users\yourlogin\somewhere\startup.py
Example on Linux:
export PYTHONSTARTUP=/usr/local/bin/startup.py
You should set it just once using the "Control Panel\System", for example, on Windows.
我不知道专门用于 numpy 的配置文件,但是如果您使用 IPython,您可以设置一个配置文件,以便在您打开新的 IPython shell 时自动设置这些打印选项。
创建新配置文件(您可以省略名称以创建默认配置文件)
$ ipython profile create fancyprint
然后编辑配置文件,它应该存在~/.config/ipython/profile_fancyprint/ipython_config.py
取消注释这一行:
# c.TerminalIPythonApp.exec_lines = []
并添加要在启动时执行的行:
c.TerminalIPythonApp.exec_lines = [
'import numpy as np',
'np.set_printoptions(threshold=np.NaN, precision=3, suppress=True, linewidth=180)'
]
然后您可以使用命名配置文件启动 IPython
$ ipython --profile=fancyprint
您的阵列打印选项应自动设置。