我需要在ippython上使用~/.bashrc
的别名。
一开始我试过了,但是没有用
%%bash
source ~/.bashrc
根据这篇文章我们应该做
%%bash
. ~/.bashrc
f2py3 -v
在木星上运行需要20秒,我得到:
bash: line 2: f2py3: command not found
我的~/.bashrc
文件看起来像
alias f2py3='$HOME/python/bin/f2py'
bash: line 2: type: f2py3: not found
别名、源和%rehashx%都不能工作
%%bash
alias f2py3='$HOME/python/bin/f2py'
我发现问题出在Python上,它不能用sh和bash执行alias
命令。
我可以使用别名与IPython魔术吗?
您可以在ipython配置中解析您的bashrc文件并添加您定义的任何自定义别名:
import re
import os.path
c = get_config()
with open(os.path.expanduser('~/.bashrc')) as bashrc:
aliases = []
for line in bashrc:
if line.startswith('alias'):
parts = re.match(r"""^alias (w+)=(['"]?)(.+)2$""", line.strip())
if parts:
source, _, target = parts.groups()
aliases.append((source, target))
c.AliasManager.user_aliases = aliases
这个应该放在~/.ipython/profile_default/ipython_config.py
。
%rehashx
使系统命令在别名表中可用,因此如果您想使用ipython作为shell,这也非常有用。