进入python或ipython解释器时自动导入模块

2025-02-21 08:50:00
admin
原创
6
摘要:问题描述:我发现import numpy as np几乎每次启动 Python 解释器时我都会输入一些内容。如何设置 Python 或 iPython 解释器以便自动导入 numpy?解决方案 1:对于 ipython,有两种方法可以实现这一点。两者都涉及位于 的 ipython 配置目录~/.ipython...

问题描述:

我发现import numpy as np几乎每次启动 Python 解释器时我都会输入一些内容。如何设置 Python 或 iPython 解释器以便自动导入 numpy?


解决方案 1:

对于 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 配置的更多信息。文档有更完整的解释。

解决方案 2:

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

如果这是可读文件的名称,则在交互模式下显示第一个提示之前会执行该文件中的 Python 命令。该文件在执行交互命令的同一命名空间中执行,因此可以在交互会话中无条件使用其中定义或导入的对象。

因此,只需使用 import 语句创建一个 python 脚本并将环境变量指向它即可。话虽如此,请记住“显式总是比隐式更好”,因此不要依赖此行为来编写生产脚本。

对于 Ipython,请参阅有关如何制作 ipython_config 文件的教程

解决方案 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 将在启动 shell 时使用它。

有打印语句,因此当我启动 shell 时,我会收到一条提醒,提示它已生效,并且已导入了哪些内容。pp快捷方式也非常方便...

解决方案 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',
    ]

解决方案 5:

作为已接受答案的更简单的替代方案,在 Linux 上:

只需定义一个别名,例如放入alias pynp='python -i -c"import numpy as np"'~/.bash_aliases 文件中。然后,您可以使用 调用 python+numpy pynp,并且仍然可以使用 python python。Python 脚本的行为保持不变。

解决方案 6:

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

#!/bin/env python3
import numpy as np

-i然后用标志启动它。

python -i import_numpy.py

这样的方式可以让您灵活地为不同的项目选择所需的模块。

解决方案 7:

我的默认ipython调用是

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

--pylab`ipython已经有一段时间成为选项了。它导入numpy和(部分)matplotlib。我添加了--Inter...选项,因此它不使用*导入,因为我更喜欢使用显式的np....`。

这可以是快捷方式、别名或脚本。

解决方案 8:

正如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以了解启动目录的工作原理。

解决方案 9:

我创建了一个小脚本来用您想要的代码初始化 ipython。

  • start.ipy在项目根文件夹中创建一个文件。

  • 编辑创建的文件,添加进入 ipython 所需的所有内容。

  • ipython profile create <your_profile_name>。提示,不要在名称中添加单词“profile”,因为 ipython 已经包含它了。

  • cp start.ipy ~/.ipython/profile_<your_profile_name>/startup/start.ipy

  • ipython --profile=<your_profile_name>每次需要在 ipython 中加载所有内容时运行。

使用此解决方案,您无需设置任何环境变量。不过,每次修改文件时,您都需要将start.ipy文件复制到文件夹中。ipython

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1267  
  IPD(Integrated Product Development)即集成产品开发,是一套先进的、成熟的产品开发管理理念、模式和方法。随着市场竞争的日益激烈,企业对于提升产品开发效率、降低成本、提高产品质量的需求愈发迫切,IPD 项目管理咨询市场也迎来了广阔的发展空间。深入探讨 IPD 项目管理咨询的市场需求与发展,...
IPD集成产品开发流程   27  
  IPD(Integrated Product Development)产品开发流程是一套先进的、被广泛应用的产品开发管理体系,它涵盖了从产品概念产生到产品推向市场并持续优化的全过程。通过将市场、研发、生产、销售等多个环节紧密整合,IPD旨在提高产品开发的效率、质量,降低成本,增强企业的市场竞争力。深入了解IPD产品开发...
IPD流程中TR   31  
  IPD(Integrated Product Development)测试流程是确保产品质量、提升研发效率的关键环节。它贯穿于产品从概念到上市的整个生命周期,对企业的成功至关重要。深入理解IPD测试流程的核心要点,有助于企业优化研发过程,打造更具竞争力的产品。以下将详细阐述IPD测试流程的三大核心要点。测试策略规划测试...
华为IPD   26  
  华为作为全球知名的科技企业,其成功背后的管理体系备受关注。IPD(集成产品开发)流程作为华为核心的产品开发管理模式,在创新管理与技术突破方面发挥了至关重要的作用。深入剖析华为 IPD 流程中的创新管理与技术突破,对于众多企业探索自身发展路径具有重要的借鉴意义。IPD 流程概述IPD 流程是一种先进的产品开发管理理念和方...
TR评审   26  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用