Ansible: установить подпакеты Python с помощью pip - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь установить поток воздуха с помощью Ansible, поэтому у меня есть эта команда

- pip
  name: apache-airflow[s3, postgres]
  version: 1.9.0

Но эта ошибка не получается с этой ошибкой:

pip2 install apache-airflow [s3 == 1.9.0 postgres == 1.9.0 сельдерея] == 1.9.0 Недопустимое требование: 'apache-airflow [s3 == 1.9.0' Traceback (последний вызов был последним): файл "/usr / lib / python2.7 / site-packages / pip / _internal / req / req_install.py ", строка 252, в файле from_line req = Requirement (req)" /usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.py ", строка 97, в init demand_string [e.loc: e.loc + 8])) InvalidRequirement: недопустимое требование, ошибка анализа в" "[ s3== 1.9 '"

Таким образом, он считает, что версия применяется к каждому подпакету, а это не так.Следует попытаться установить

apache-airflow[s3, postgres]==1.9.0

Как правильно установить подпакеты в Ansible?

1 Ответ

0 голосов
/ 03 июня 2018

в соответствии с этим github проблема , вы должны использовать этот синтаксис:

  - name: install with pip
    pip:
      name: 
        - 'apache-airflow[s3,postgres]'
      version: 1.9.0

обратите внимание, что пробел в [s3,postgres] был удален.

ОБНОВЛЕНИЕ: когда есть пробел, я получаю то же поведение, что и вопрос OP, поэтому я предлагаю удалить его (как и в github):

error , когда естьпробел, [s3, postgres] :

[root@greenhat-28 php_basedir]# cat testtt.yml 
---
- hosts: localhost
  connection: local
  gather_facts: false
  vars:

  tasks:

  - name: install with pip
    pip:
      name: 
        - 'apache-airflow[s3, postgres]'
      version: 1.9.0
[root@greenhat-28 php_basedir]# ansible-playbook testtt.yml 
 [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'


PLAY [localhost] ****************************************************************************************************************************************************************************************************

TASK [install with pip] *********************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "cmd": "/usr/bin/pip2 install apache-airflow[s3, postgres]==1.9.0", "msg": "\n:stderr: WARNING: Running pip install with root privileges is generally not a good idea. Try `pip2 install --user` instead.\nInvalid requirement: 'apache-airflow[s3,'\nTraceback (most recent call last):\n  File \"/usr/lib/python2.7/site-packages/pip/req/req_install.py\", line 82, in __init__\n    req = Requirement(req)\n  File \"/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.py\", line 96, in __init__\n    requirement_string[e.loc:e.loc + 8]))\nInvalidRequirement: Invalid requirement, parse error at \"'[s3,'\"\n\n"}
        to retry, use: --limit @/php_basedir/testtt.retry

PLAY RECAP **********************************************************************************************************************************************************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=1   

[root@greenhat-28 php_basedir]# 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...