我正在尝试使用Azure的HDInsight上的Jupyter Pyspark笔记本从git存储库克隆并导入python模块。
在第一个笔记本单元中,我成功克隆了git repo:
%%sh
mkdir ~/code
cd ~/code
git clone https://path-to-my-repo/MyRepo
在下一个单元格中,我尝试导入模块:
import sys
sys.path.append('~/code/MyRepo')
import mymodule
此操作失败,并显示以下信息:
ImportError: No module named mymodule
在进一步的os.system('ls ...')调查中,似乎python单元在自己的环境中运行,并且%% sh单元中创建的文件无法被python单元访问。
我正在寻找一种方法来克服这一点,并从python细胞访问我的git克隆。
答案 0 :(得分:0)
我找到了一种解决方法,可以通过在subpython.check_output中运行shell命令,从python单元内克隆存储库来解决此问题:
import subprocess
import sys
#GIT clone
subprocess.check_output('mkdir ~/code ; ~/code ; cd ~/code & git clone https://path-to-my-repo/MyRepo')
sys.path.append('~/code/MyRepo')
import mymodule
答案 1 :(得分:-1)
尝试:
import sys
sys.path.append('~/code')
from MyRepo import mymodule
还要检查名称是否区分大小写