【发布时间】:2019-11-27 19:02:19
【问题描述】:
用户可以通过在 IPython 中的 shell 命令前加上感叹号 (!) 来运行任何 shell 命令。或者用户可以运行魔术%rehashx,以便可以直接使用搜索路径上的任何可执行文件。但是,有一种令人讨厌的情况。如果你有一个不在搜索路径上的可执行文件,比如说,当前直接工作的有一个可执行的 Python 脚本cmder.py(它不在搜索路径上),你仍然需要!./cmder.py 或!/absolute/path/to/cmder.py运行它。我想知道有没有办法让 IPython 将 ./cmder.py 和 /absolute/path/to/cmder.py 识别为 shell 命令?
【问题讨论】:
-
我通常对这样的魔法持怀疑态度。我宁愿反其道而行之,习惯于将
!放在all shell 命令的前面,包括我路径中的命令。如果您尝试运行恰好与 Python 对象名称匹配的命令,%rehashx行为可能会在稍后再次咬您。另一方面,您建议的行为是明确的,因为命令始终以路径规范开头。我猜您必须提交功能请求或自己将其添加到 Jupyter 并提交拉取请求。
标签: shell ipython executable