【问题标题】:running a script from a directory in ipython从 ipython 中的目录运行脚本
【发布时间】:2014-01-17 21:39:05
【问题描述】:
我对这一切都很陌生,所以请多多包涵。
我已经建立了一个目录,我可以在其中转储我正在处理的所有脚本,
我正在努力做到这一点,以便我可以直接从 ipython 运行该目录中的脚本。
到目前为止,我在前面的目录中添加了一个 init.py,
并尝试将路径附加到 sys.path,
但是,即使在我成功附加路径之后,尝试对目录中的任何脚本使用运行命令也会导致未找到错误。
我遇到的另一个问题是,在每次内核重置后,sys.path 似乎都重置为以前的值,而我没有输入新的路径设置。
感谢任何帮助,
罗
【问题讨论】:
标签:
python
scripting
path
ipython
【解决方案1】:
如果您只想从目录中使用 ipython 运行脚本,您可以将 ipython 放在 shebang 中并将目录添加到您的路径中,如下所示:
脚本是这样的(python3 示例):
#!/usr/bin/ipython
print("HI from ipython")
然后您将脚本所在的目录添加到 PATH 环境变量(如果您使用的是 Linux 或其他 *NIX):
export PATH="/home/ron/ipython_scripts:$PATH"
现在,您应该让它们可执行:
chmod +x /home/ron/ipython_scripts/script.py
现在您可以在任何地方使用该脚本 :)
$ script.py
HI from ipython
【解决方案2】:
sys.path 只影响导入,而不影响 IPython 的 %run。运行魔法就像调用 python script.py - 你必须 cd 进入脚本所在的目录,或者将完整路径传递给这些脚本。
【解决方案3】:
在 Ipython 笔记本中输入:%run script_name.py