我在Docker容器中使用runipy测试了许多笔记本 这是一个主要的python测试脚本,通过Docker入口点调用 此脚本在容器中创建一个运行runipy的子进程。
bash_command = "runipy --quiet " + notebook_path + " " + output_file_path
process = subprocess.Popen(bash_command.split(), stdout=subprocess.PIPE)
我有一些自定义代码解析输出.ipynb文件以查找问题。
在我介绍一个新库(boto3)之前,这就像一个魅力。 它已正确安装并导入boto3"从python直接调用或使用Jupyter Notebook Web UI时都可以工作 但是当我在生成的过程中使用runipy运行相同的笔记本时,我得到:
ImportError: No module named boto3
从Jupyter Web UI运行代码时打印出Syspath:
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/local/lib/python2.7/dist-packages/IPython/extensions']
Syspath从自动runipy调用中打印出来:
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/local/lib/python2.7/dist-packages/IPython/extensions', '/root/.ipython']
(他们是相同的,除了:' /root/.ipython'只出现在后者中)
有什么想法吗?