我一直试图添加我的一个文件夹,其中我保存我的python模块,到目前为止,我还没有能够通过AWS的终端做到这一点。带有.py文件的文件夹位于主SageMaker文件夹中,因此我正在尝试(我也尝试过使用SageMaker/zds文件夹,它是保存模块的文件夹):

export PYTHONPATH="${PYTHONPATH}:SageMaker/"

在使用PYTHONPATH通过终端打印python -c "import sys; print('\n'.join(sys.path))"的目录之后,我得到了我的新路径确实包含在PYTHONPATH中。但是,当我试图从任何笔记本中导入任何模块(使用from zds.module import *from module import *)时,我会发现模块不存在的错误。如果直接在笔记本内打印PYTHONPATH中的路径,则在列表中看不到以前添加的路径。
我是否遗漏了一些基本的内容,或者无法在AWS SageMaker中添加到PYTHONPATH的路径?现在,我必须在每个笔记本里使用import sys, ossys.path.insert(0, os.path.abspath('..'))来解决这个问题。

最佳答案

感谢使用亚马逊SageMaker!
https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html复制
Amazon SageMaker笔记本实例使用conda环境为Jupyter笔记本实现不同的内核。如果要安装可用于一个或多个笔记本内核的软件包,请将用于安装软件包的命令与conda environment一起封装,conda environment命令用于激活包含要安装软件包的内核的conda environment
例如,如果只想在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

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

关于python - 如何在AWS SageMaker上的Python路径中添加其他路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55094071/

10-12 18:38