【发布时间】:2020-02-05 14:35:48
【问题描述】:
我一直在尝试添加一个文件夹来存放我的 python 模块,但到目前为止,我还无法通过 AWS 的终端来完成。带有.py 文件的文件夹位于主SageMaker 文件夹内,所以我正在尝试(我也尝试使用SageMaker/zds,这是包含模块的文件夹):
export PYTHONPATH="${PYTHONPATH}:SageMaker/"
在使用python -c "import sys; print('\n'.join(sys.path))" 通过终端打印PYTHONPATH 的目录后,我发现我的新路径确实包含在PYTHONPATH 中。但是,当我尝试从任何笔记本(使用from zds.module import * 或from module import *)导入任何模块时,我收到模块不存在的错误消息。如果我直接在笔记本中打印来自PYTHONPATH 的路径,我将不再在列表中看到之前添加的路径。
我是否在这里遗漏了一些基本内容,或者无法在 AWS SageMaker 中添加到 PYTHONPATH 的路径?现在,我不得不在基本上每个笔记本中使用import sys, os
sys.path.insert(0, os.path.abspath('..')) 来解决这个问题。
【问题讨论】:
-
据我了解,他基本上是在做我所做的,但在外部文件中?
-
显然,除了
PYTHONPATH,还有一个JUPYTER_PATH。但是,更改它并没有产生任何局部影响,与PYTHONPATH的行为基本相同。 -
请不要把这个评论视为居高临下,我自己已经内疚了一百次。修改路径后重启终端了吗?
-
是的,我确实尝试过重新启动它。它对你有用吗? (顺便说一句,我根本不介意这种提问,只要它停留在主题上而不是假设对方是无知的。)
标签: python linux amazon-web-services amazon-ec2