我一直试图添加我的一个文件夹,其中我保存我的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/