Конфигурация жизненного цикла Sagemaker для установки панд не работает

Я пытаюсь обновить pandas в конфигурации жизненного цикла, и, следуя примеру AWS, у меня есть следующий код:

#!/bin/bash

set -e

# OVERVIEW
# This script installs a single pip package in a single SageMaker conda environments.

sudo -u ec2-user -i <<EOF
# PARAMETERS
PACKAGE=pandas
ENVIRONMENT=python3
source /home/ec2-user/anaconda3/bin/activate "$ENVIRONMENT"
pip install --upgrade "$PACKAGE"==0.25.3
source /home/ec2-user/anaconda3/bin/deactivate
EOF

Затем я прикрепляю его к записной книжке, и когда я вхожу в записную книжку и открываю файл записной книжки, я вижу, что панды не обновлены. Используя !pip show pandas, я получаю:

Name: pandas
Version: 0.24.2
Summary: Powerful data structures for data analysis, time series, and statistics
Home-page: http://pandas.pydata.org
Author: None
Author-email: None
License: BSD
Location: /home/ec2-user/anaconda3/envs/python3/lib/python3.6/site-packages
Requires: pytz, python-dateutil, numpy
Required-by: sparkmagic, seaborn, odo, hdijupyterutils, autovizwidget

Итак, мы видим, что я действительно нахожусь в среде python3, хотя версия 0.24.

Однако журнал cloudwatch показывает, что он был установлен:

Collecting pandas==0.25.3 Downloading https://files.pythonhosted.org/packages/52/3f/f6a428599e0d4497e1595030965b5ba455fd8ade6e977e3c819973c4b41d/pandas-0.25.3-cp36-cp36m-manylinux1_x86_64.whl (10.4MB)
2020-02-03T12:33:09.065+01:00
Requirement already satisfied, skipping upgrade: pytz>=2017.2 in ./anaconda3/lib/python3.6/site-packages (from pandas==0.25.3) (2018.4)
2020-02-03T12:33:09.065+01:00
Requirement already satisfied, skipping upgrade: python-dateutil>=2.6.1 in ./anaconda3/lib/python3.6/site-packages (from pandas==0.25.3) (2.7.3)
2020-02-03T12:33:09.065+01:00
Requirement already satisfied, skipping upgrade: numpy>=1.13.3 in ./anaconda3/lib/python3.6/site-packages (from pandas==0.25.3) (1.16.4)
2020-02-03T12:33:09.065+01:00
Requirement already satisfied, skipping upgrade: six>=1.5 in ./anaconda3/lib/python3.6/site-packages (from python-dateutil>=2.6.1->pandas==0.25.3) (1.13.0)
2020-02-03T12:33:09.065+01:00
Installing collected packages: pandas Found existing installation: pandas 0.24.2 Uninstalling pandas-0.24.2: Successfully uninstalled pandas-0.24.2
2020-02-03T12:33:12.066+01:00
Successfully installed pandas-0.25.3

В чем может быть проблема?


person Javier López Tomás    schedule 03.02.2020    source источник


Ответы (2)


если вы хотите установить пакеты только для среды python3, используйте следующий сценарий в конфигурациях Create Sagemaker Lifecycle.

#!/bin/bash
sudo -u ec2-user -i <<'EOF'

# 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 pandas==0.25.3
# You can also perform "conda install" here as well.
source deactivate
EOF

Ссылка: «Рекомендации по настройке жизненного цикла»

person ReKx    schedule 10.02.2020

Я столкнулся с той же проблемой, когда пакет не был доступен в ноутбуке, в то время как Lifecycle Cloudwatch указывал на успешную установку для конкретного ядра. Решение, которое сработало для меня, - убедиться, что установка завершена, прежде чем открывать ноутбук.

person Jing Xue    schedule 28.10.2020