이것은 (python3이 해킹에서 수정 나는 jupyter issue에 있음) 여기
import subprocess
lines = subprocess.check_output('source ~/.bash_profile; alias',shell=True).split(b'\n')
manager = get_ipython().alias_manager
for line in lines:
line = line.decode("utf-8")
split_index = line.find('=')
cmd = line[split_index+1:]
alias = line[:split_index]
cmd = cmd[1:-1]
print ("ALIAS:{}\t\tCMD:{}".format(alias,cmd))
manager.soft_define_alias(alias, cmd)
덜이 해결보다 솔루션 또 다른 대안이다 작동하는 것 같다 : 당신이 사용하는 노트북에 로컬 별칭을 정의 할 수 있습니다
%alias
마술을 사용하고 나중에
%store
마술을 사용하여 해당 별칭을 사용할 수있게하십시오. 여기에 더 많은 별명 trickiness :
https://github.com/ipython/ipython/wiki/Cookbook:-Storing-aliases
여기 %store
마법에 대한 자세한 : http://ipython.readthedocs.io/en/stable/config/extensions/storemagic.html
다음 단계는 이러한 별칭을 유지하기 위해 %store
마법을 해킹되어 후손을 위해 https://github.com/ipython/ipython/blob/master/IPython/extensions/storemagic.py
를, 여기 결과는 마지막으로 솔루션을 찾기 전에 실행 한 몇 가지 실험 중 :
나는 % .bash_profile을 %% bash 셀로 제공했습니다. 그 셀 안에서, 나는 .bash_profile에서 정의한 변수의 값을 조사 할 수 있었고, alias
을 호출하여 별명이 지정된 명령을 나열 할 수있었습니다. 그러나, 나는 여전히 앨리어싱 된 명령을 사용할 수 없었다. 또한 내 .bash_profile에 정의 된 변수는 소스 호출이있는 셀 내에서만 액세스 할 수있었습니다. 후속 %% bash 셀에서 액세스하려고하면 셀이 작동하지 않고 alias
명령도 실패합니다. 더 흥미로운 점은 : 내가 !
을 사용했다면 bash 프로필에 정의 된 변수를 조사하거나 동일한 셀에 !
쉘 명령으로 내 별칭을 나열 할 수 없었습니다.
충분하다고 말하면, %%bash
마술은 까다 롭습니다.