Установка Anaconda на Amazon Elasti c Beanstalk для использования в приложении Django - PullRequest
3 голосов
/ 12 июля 2020

У меня есть приложение Django, которое развернуто в Amazon Elasti c Beanstalk. Мне нужно установить anaconda для установки пакета pythono cc -core. Я создал файл .config в папке .ebextensions и добавил путь к анаконде в свой файл wsgi.py, как показано ниже, и успешно развернул его.

.config файл:

commands:
  00_download_conda:
    command: 'wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh'
    test: test ! -d /anaconda
  01_install_conda:
    command: 'bash Anaconda3-2020.02-Linux-x86_64.sh -b -f -p /anaconda'
    test: test ! -d /anaconda
  02_create_home:
    command: 'mkdir -p /home/wsgi'
  03_conda_activate_installation:
    command: 'source ~/.bashrc'

wsgi.py:

sys.path.append('/anaconda/lib/python3.7/site-packages')

Однако, когда я добавляю команду 04_conda_install_pythonocc ниже к продолжению этого файла .config, я получил ошибку command failed.

04_conda_install_pythonocc: 
command: 'conda install -c dlr-sc pythonocc-core=7.4.0'

Я s sh в экземпляр для проверки. Я видел, что возникла папка / anaconda. Когда я проверил с помощью команды conda --version, я получил ошибку -bash: conda: command not found.

Впоследствии я подумал, что может быть проблема с PATH, и отредактировал файл .config следующим образом, и я развернул этот файл .config успешно.

commands:
  00_download_conda:
    command: 'wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh'
    test: test ! -d /anaconda
  01_install_conda:
    command: 'bash Anaconda3-2020.02-Linux-x86_64.sh -b -f -p /anaconda'
    test: test ! -d /anaconda
  02_create_home:
    command: 'mkdir -p /home/wsgi'
  03_add_path:
    command: 'export PATH=$PATH:$HOME/anaconda/bin'
  04_conda_activate_installation:
    command: 'source ~/.bashrc'

Но когда я снова добавляю команду conda_install_pythonocc к продолжению этой отредактированной версии файла .config, он снова не удался, и я получил command failed.

В ручном режиме все команды работают, но они не работают в моем файле .config.

Как я могу исправить эту проблему и установить пакет с помощью conda?

1 Ответ

1 голос
/ 13 июля 2020

Я попытался воспроизвести проблему в моей учетной записи песочницы и успешно установил conda, используя следующий (упрощенный) файл конфигурации на 64bit Amazon Linux 2 v3.0.3 running Python 3.7:

.ebextensions / 60_anaconda.config

commands:
  00_download_conda:
    command: 'wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh'
  01_install_conda:
    command: 'bash Anaconda3-2020.02-Linux-x86_64.sh -b -f -p /anaconda'
  05_conda_install: 
    command: '/anaconda/bin/conda install -y -c dlr-sc pythonocc-core=7.4.0'   

Обратите внимание на использование выключенных абсолютный путь /anaconda/bin/conda и -y, чтобы не запрашивать ручное подтверждение . Я только проверил процедуру установки , а не то, как ее использовать впоследствии (например, не как использовать ее в приложении python). Таким образом, вам, вероятно, придется отрегулировать его в соответствии с вашими потребностями.

Файл журнала EB , показывающий успешную установку, также предоставляется для вашей справки (сокращен для простоты):

...