【问题标题】:ipython %run testscript_in_pythonpath.py returns "no file found" erroripython %run testscript_in_pythonpath.py 返回“找不到文件”错误
【发布时间】:2013-02-08 17:28:08
【问题描述】:

我想使用 %run 魔术命令在 pythonpath 变量中的目录中运行脚本。该脚本读取工作目录中的一些文件。但是,当我尝试使用以下命令运行脚本时:%run "testscript_in_pythonpath.py",它返回一个错误。我认为解释器可以访问 pythonpath 中的文件,不是吗??

【问题讨论】:

  • 我刚刚使用了命令:“import testscript_in_pythonpath”。尽管抛出“ImportError”说没有找到模块,但脚本正常执行。然而,这个命令达到了目的。现在,如果有更好的方法来做到这一点,那就太好了!
  • Pythonpath 用于库,而不是脚本。您可以%run -m testscript_in_pythonpath 从其模块名称运行它。
  • 谢谢托马斯............

标签: file find ipython pythonpath


【解决方案1】:

(作为答案转发)

$PYTHONPATH 是 Python 用来查找要导入的模块,而不是要运行的脚本。

要从$PYTHONPATH 运行文件,您可以使用import testscript_in_pythonpath。或者,在 IPython 中:

%run -m testscript_in_pythonpath

不同之处在于,如果文件有 if __name__ == '__main__': 部分,%run 将触发它。

在系统 shell 中,您可以执行以下操作:

python -m testscript_in_pythonpath

【讨论】:

    猜你喜欢
    • 2019-06-27
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    相关资源
    最近更新 更多