【问题标题】: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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-29
          • 1970-01-01
          • 2011-08-29
          • 2011-06-11
          • 2017-09-15
          • 1970-01-01
          相关资源
          最近更新 更多