【问题标题】:How to add another path to the Python Path on AWS SageMaker如何向 AWS SageMaker 上的 Python 路径添加另一个路径
【发布时间】: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


【解决方案1】:

将此添加到 lifecycle script 对我有用

sudo -i <<'EOF'

touch /etc/profile.d/jupyter-env.sh
echo export PYTHONPATH="$PYTHONPATH:/home/ec2-user/SageMaker/repo-name/src" >> /etc/profile.d/jupyter-env.sh

EOF

【讨论】:

  • 这是新功能吗?
  • 不确定,SageMaker 笔记本实例的一部分。
【解决方案2】:

感谢您使用 Amazon SageMaker!

https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html复制

Amazon SageMaker 笔记本实例使用 conda 环境为 Jupyter 笔记本实施不同的内核。如果要安装可用于一个或多个笔记本内核的软件包,请将安装软件包的命令附在 conda environment 命令中,这些命令会激活包含要安装软件包的内核的 conda 环境 例如,如果您只想在 python3 环境中安装一个包,请使用以下代码:

# This will affect only the Jupyter kernel called "conda_python3".
source activate python3

# Replace myPackage with the name of the package you want to install.
pip install myPackage
# You can also perform "conda install" here as well.

source deactivate

如果您按照上述建议的方式进行安装,您应该能够从您正在使用的笔记本对应的内核中导入您的包。如果没有帮助,请告诉我们。

【讨论】:

  • 您好,感谢您的帮助。但是,据我了解,您的答案是关于可通过pipconda 命令获得的库?我的问题与本地图书馆有关。通过pip,库的路径隐式(我认为)包含在PYTHONPATH 中,但是,如果您有本地库,则必须手动包含它,但是当我尝试使用 Jupyter 时它对我不起作用.
猜你喜欢
  • 2017-05-19
  • 2022-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
  • 2013-10-01
相关资源
最近更新 更多