#python-3.x #pip #ansible #rasa
#python-3.x #pip #ansible #rasa
Вопрос:
в настоящее время пишу ansible playbook для установки rasa … с использованием виртуальной среды
python3.7 -m venv ./venv
source ./venv/bin/activate
....
....
pip3 install -r requirements.txt
python3 -m spacy download en_core_web_md
python -m spacy link en_core_web_md en
некоторая справочная информация о spacy https://spacy.io/models ..
в сборнике я смог установить требования, используя следующий список…playbook работает отлично….
- name: Download pip installer
get_url:
url: https://bootstrap.pypa.io/get-pip.py
dest: /tmp/get-pip.py
- name: Install pip
shell: |
/usr/bin/python3 /tmp/get-pip.py
- name: Create app folder
file:
name: /opt/app
state: directory
recurse: yes
- name: Install virtualenv module
pip:
name: virtualenv
state: latest
- name: Create virtualenv for app
pip:
requirements: /opt/app/requirements.txt
virtualenv: /opt/app/appenv
чего мне не хватает, так это последних 2 частей, выполненных в /opt/app/appenv….
python3 -m spacy download en_core_web_md
python -m spacy link en_core_web_md en
Ответ №1:
На самом деле вы уже знаете путь к исполняемому файлу python в virtualenv, поскольку это каталог virtualenv bin/python
; вам нужно позаботиться об идемпотентности действия, чтобы spacy не пытался повторно выполнить эти команды при последующих запусках playbook
- name: download en_core_web_md
command: /opt/app/appenv/bin/python -m spacy download en_core_web_md
args:
creates: /whatever/file/the download command/creates
- name: link en_core_web_md
command: /opt/app/appenv/bin/python -m spacy link en_core_web_md en
args:
creates: /whatever/file/link/creates
Я опустил извлечение этого каталога virtualenv в a vars:
, но я бы рекомендовал это, поскольку на него, вероятно, будут ссылаться creates:
и в
Комментарии:
1. Не могли бы вы, пожалуйста, объяснить это немного подробнее, поскольку мне также приходится запускать в виртуальной среде команду rasa train …. попробовал, все работает нормально … но как мне теперь запустить команду «rasa train»…. Заранее спасибо..
2. Предполагая, что что-то установило
rasa
скрипт в этот virtualenv, это будетcommand: /opt/app/appenv/bin/rasa train