5

我经常从命令行使用 Numpy,并且总是要记住应用一些经常性的设置,例如设置输出格式:

np.set_printoptions(threshold=np.NaN, precision=3, suppress=True, linewidth=180)

是否有一个全局 Numpy 配置文件可以为新的 Python shell 自动执行,或者在导入期间可以执行它?如果没有,是否有一种优雅的方式来实现这种效果?

4

2 回答 2

4

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.

于 2013-08-24T06:22:11.750 回答
3

我不知道专门用于 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

您的阵列打印选项应自动设置。

于 2013-08-24T02:07:11.417 回答