Curator: 5.5.0 fails to install via pip

Created on 22 Mar 2018  ยท  21Comments  ยท  Source: elastic/curator

When trying to install elasticsearch-curator via pip on MacOSX or Linux it fails

Expected Behavior

The package should install

Actual Behavior

On Mac I get:

~:patrickrobinson:$ pip install elasticsearch-curator
Collecting elasticsearch-curator
  Using cached elasticsearch-curator-5.5.0.tar.gz
  Running setup.py (path:/private/var/folders/py/69s3pkm12nj_fjslqg2cxg1c0000gn/T/pip-build-muqzgco3/elasticsearch-curator/setup.py) egg_info for package elasticsearch-curator produced metadata for project name unknown. Fix your #egg=elasticsearch-curator fragments.
Installing collected packages: unknown
  Found existing installation: UNKNOWN 0.0.0
    Uninstalling UNKNOWN-0.0.0:
      Successfully uninstalled UNKNOWN-0.0.0
  Running setup.py install for unknown ... done
Successfully installed unknown-0.0.0
~:patrickrobinson:$ python
Python 3.6.1 (default, Sep  5 2017, 12:22:04)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import elasticsearch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'elasticsearch'
>>>
~:patrickrobinson:$ pip uninstall elasticsearch-curator
Cannot uninstall requirement elasticsearch-curator, not installed
~:patrickrobinson:$ pip uninstall unknown
Uninstalling UNKNOWN-0.0.0:
  /Users/patrickrobinson/.pyenv/versions/3.6.1/lib/python3.6/site-packages/UNKNOWN-0.0.0-py3.6.egg-info
Proceed (y/n)? y
  Successfully uninstalled UNKNOWN-0.0.0

On linux:

~:patrickrobinson:$ docker run -ti --rm python:3.6.1-alpine /bin/sh
/ # pip install elasticsearch-curator
Collecting elasticsearch-curator
  Downloading elasticsearch-curator-5.5.0.tar.gz (212kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 215kB 1.4MB/s
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "/tmp/pip-build-_er4i240/elasticsearch-curator/setup.py", line 36, in <module>
        from cx_Freeze import setup, Executable
    ModuleNotFoundError: No module named 'cx_Freeze'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-_er4i240/elasticsearch-curator/setup.py", line 140, in <module>
        test_suite = "test.run_tests.run_all",
      File "/usr/local/lib/python3.6/distutils/core.py", line 121, in setup
        dist.parse_config_files()
      File "/usr/local/lib/python3.6/site-packages/setuptools/dist.py", line 357, in parse_config_files
        parse_configuration(self, self.command_options)
      File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 106, in parse_configuration
        meta.parse()
      File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 376, in parse
        section_parser_method(section_options)
      File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 349, in parse_section
        self[name] = value
      File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 173, in __setitem__
        value = parser(value)
      File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 422, in _parse_version
        version = self._parse_attr(value)
      File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 299, in _parse_attr
        module = import_module(module_name)
      File "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 978, in _gcd_import
      File "<frozen importlib._bootstrap>", line 961, in _find_and_load
      File "<frozen importlib._bootstrap>", line 936, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
      File "<frozen importlib._bootstrap>", line 978, in _gcd_import
      File "<frozen importlib._bootstrap>", line 961, in _find_and_load
      File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 678, in exec_module
      File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
      File "/tmp/pip-build-_er4i240/elasticsearch-curator/curator/__init__.py", line 4, in <module>
        from .validators import *
      File "/tmp/pip-build-_er4i240/elasticsearch-curator/curator/validators/__init__.py", line 1, in <module>
        from .schemacheck import SchemaCheck
      File "/tmp/pip-build-_er4i240/elasticsearch-curator/curator/validators/schemacheck.py", line 1, in <module>
        from voluptuous import *
    ModuleNotFoundError: No module named 'voluptuous'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-_er4i240/elasticsearch-curator/
You are using pip version 9.0.1, however version 9.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
/ # exit

Steps to Reproduce the Problem

pip install elasticsearch-curator

Specifications

  • Version: 5.5.0
  • Platform: MacOSX and Linux
  • Subsystem: ??

All 21 comments

Same problem on my system. Was working before 5.5.0.

I can't explain why but it works in that context: (across python versions)
docker run --rm python pip install elasticsearch-curator
Which is weird if the pypi package is broken.

Yes I have the same issue on my installation. I'm solving with previous version:

$ pip install elasticsearch-curator==5.4.1

Hmmm. On a clean build of Python 3.6.4 I did last night on a 32bit ARM machine:

pip3.6 install elasticsearch-curator
Collecting elasticsearch-curator
  Downloading elasticsearch-curator-5.5.0.tar.gz (212kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 215kB 603kB/s
Collecting voluptuous>=0.9.3 (from elasticsearch-curator)
  Downloading voluptuous-0.11.1-py2.py3-none-any.whl
Collecting urllib3>=1.20 (from elasticsearch-curator)
  Downloading urllib3-1.22-py2.py3-none-any.whl (132kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 133kB 721kB/s
Collecting elasticsearch==5.5.2 (from elasticsearch-curator)
  Downloading elasticsearch-5.5.2-py2.py3-none-any.whl (59kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 61kB 906kB/s
Collecting click>=6.7 (from elasticsearch-curator)
  Downloading click-6.7-py2.py3-none-any.whl (71kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 71kB 879kB/s
Collecting pyyaml>=3.10 (from elasticsearch-curator)
  Downloading PyYAML-3.12.tar.gz (253kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 256kB 564kB/s
Collecting certifi>=2018.1.18 (from elasticsearch-curator)
  Downloading certifi-2018.1.18-py2.py3-none-any.whl (151kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 153kB 762kB/s
Installing collected packages: voluptuous, urllib3, elasticsearch, click, pyyaml, certifi, elasticsearch-curator
  Running setup.py install for pyyaml ... done
  Running setup.py install for elasticsearch-curator ... done
Successfully installed certifi-2018.1.18 click-6.7 elasticsearch-5.5.2 elasticsearch-curator-5.5.0 pyyaml-3.12 urllib3-1.22 voluptuous-0.11.1

But it fails with the system Python 2.7.10 on macOS 10.13:

$ /usr/bin/python -m pip install --user -U elasticsearch-curator
Collecting elasticsearch-curator
  Downloading elasticsearch-curator-5.5.0.tar.gz (212kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 215kB 1.2MB/s
Collecting voluptuous>=0.9.3 (from elasticsearch-curator)
  Using cached voluptuous-0.11.1-py2.py3-none-any.whl
Requirement already up-to-date: urllib3>=1.20 in ./Library/Python/2.7/lib/python/site-packages (from elasticsearch-curator)
Collecting elasticsearch==5.5.2 (from elasticsearch-curator)
  Using cached elasticsearch-5.5.2-py2.py3-none-any.whl
Requirement already up-to-date: click>=6.7 in ./Library/Python/2.7/lib/python/site-packages (from elasticsearch-curator)
Requirement already up-to-date: pyyaml>=3.10 in ./Library/Python/2.7/lib/python/site-packages (from elasticsearch-curator)
Collecting certifi>=2018.1.18 (from elasticsearch-curator)
  Using cached certifi-2018.1.18-py2.py3-none-any.whl
Building wheels for collected packages: elasticsearch-curator
  Running setup.py bdist_wheel for elasticsearch-curator ... error
  Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/ww/dzq_b7452vsddzqbn9thn28m0000gn/T/pip-build-T0JKse/elasticsearch-curator/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /var/folders/ww/dzq_b7452vsddzqbn9thn28m0000gn/T/tmpc71XHRpip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib
  creating build/lib/curator
  copying curator/indexlist.py -> build/lib/curator
  copying curator/_version.py -> build/lib/curator
  copying curator/actions.py -> build/lib/curator
  copying curator/__init__.py -> build/lib/curator
  copying curator/curator_cli.py -> build/lib/curator
  copying curator/cli.py -> build/lib/curator
  copying curator/singletons.py -> build/lib/curator
  copying curator/utils.py -> build/lib/curator
  copying curator/logtools.py -> build/lib/curator
  copying curator/exceptions.py -> build/lib/curator
  copying curator/config_utils.py -> build/lib/curator
  copying curator/__main__.py -> build/lib/curator
  copying curator/repomgrcli.py -> build/lib/curator
  copying curator/snapshotlist.py -> build/lib/curator
  running egg_info
  writing requirements to elasticsearch_curator.egg-info/requires.txt
  writing elasticsearch_curator.egg-info/PKG-INFO
  writing top-level names to elasticsearch_curator.egg-info/top_level.txt
  writing dependency_links to elasticsearch_curator.egg-info/dependency_links.txt
  writing entry points to elasticsearch_curator.egg-info/entry_points.txt
  reading manifest file 'elasticsearch_curator.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'Changelog.rst'
  warning: no previously-included files matching '__pycache__' found under directory '*'
  warning: no previously-included files matching '*.py[co]' found under directory '*'
  warning: no previously-included files matching '*.pyc' found under directory 'curator'
  warning: no previously-included files matching '*.pyo' found under directory 'curator'
  warning: no previously-included files matching '*.pyc' found under directory 'docs'
  warning: no previously-included files matching '*.pyo' found under directory 'docs'
  warning: no previously-included files matching '*.pyc' found under directory 'test'
  warning: no previously-included files matching '*.pyo' found under directory 'test'
  no previously-included directories found matching 'docs/_build'
  no previously-included directories found matching 'docs/asciidoc/html_docs'
  writing manifest file 'elasticsearch_curator.egg-info/SOURCES.txt'
  creating build/lib/curator/defaults
  copying curator/defaults/__init__.py -> build/lib/curator/defaults
  copying curator/defaults/client_defaults.py -> build/lib/curator/defaults
  copying curator/defaults/filter_elements.py -> build/lib/curator/defaults
  copying curator/defaults/filtertypes.py -> build/lib/curator/defaults
  copying curator/defaults/option_defaults.py -> build/lib/curator/defaults
  copying curator/defaults/settings.py -> build/lib/curator/defaults
  creating build/lib/curator/validators
  copying curator/validators/__init__.py -> build/lib/curator/validators
  copying curator/validators/actions.py -> build/lib/curator/validators
  copying curator/validators/config_file.py -> build/lib/curator/validators
  copying curator/validators/filters.py -> build/lib/curator/validators
  copying curator/validators/options.py -> build/lib/curator/validators
  copying curator/validators/schemacheck.py -> build/lib/curator/validators
  running build_exe
  error: [Errno 2] No such file or directory: 'run_curator.py'

  ----------------------------------------
  Failed building wheel for elasticsearch-curator
  Running setup.py clean for elasticsearch-curator
Failed to build elasticsearch-curator
Installing collected packages: voluptuous, elasticsearch, certifi, elasticsearch-curator
  Found existing installation: voluptuous 0.10.5
    Uninstalling voluptuous-0.10.5:
      Successfully uninstalled voluptuous-0.10.5
  Found existing installation: elasticsearch 5.4.0
    Uninstalling elasticsearch-5.4.0:
      Successfully uninstalled elasticsearch-5.4.0
  Running setup.py install for elasticsearch-curator ... error
    Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/ww/dzq_b7452vsddzqbn9thn28m0000gn/T/pip-build-T0JKse/elasticsearch-curator/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/ww/dzq_b7452vsddzqbn9thn28m0000gn/T/pip-uwDXT4-record/install-record.txt --single-version-externally-managed --compile --user --prefix=:
    usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
       or: -c --help [cmd1 cmd2 ...]
       or: -c --help-commands
       or: -c cmd --help

    error: option --single-version-externally-managed not recognized

    ----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/ww/dzq_b7452vsddzqbn9thn28m0000gn/T/pip-build-T0JKse/elasticsearch-curator/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/ww/dzq_b7452vsddzqbn9thn28m0000gn/T/pip-uwDXT4-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /private/var/folders/ww/dzq_b7452vsddzqbn9thn28m0000gn/T/pip-build-T0JKse/elasticsearch-curator/
You are using pip version 9.0.1, however version 9.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

And passes with the brew installed 2.7.13:

$ python -m pip install --user -U elasticsearch-curator
Collecting elasticsearch-curator
  Using cached elasticsearch-curator-5.5.0.tar.gz
Requirement already up-to-date: voluptuous>=0.9.3 in ./Library/Python/2.7/lib/python/site-packages (from elasticsearch-curator)
Requirement already up-to-date: urllib3>=1.20 in ./Library/Python/2.7/lib/python/site-packages (from elasticsearch-curator)
Requirement already up-to-date: elasticsearch==5.5.2 in ./Library/Python/2.7/lib/python/site-packages (from elasticsearch-curator)
Requirement already up-to-date: click>=6.7 in ./Library/Python/2.7/lib/python/site-packages (from elasticsearch-curator)
Requirement already up-to-date: pyyaml>=3.10 in ./Library/Python/2.7/lib/python/site-packages (from elasticsearch-curator)
Requirement already up-to-date: certifi>=2018.1.18 in ./Library/Python/2.7/lib/python/site-packages (from elasticsearch-curator)
Building wheels for collected packages: elasticsearch-curator
  Running setup.py bdist_wheel for elasticsearch-curator ... done
  Stored in directory: /Users/buh/Library/Caches/pip/wheels/7b/c3/f5/d0674ae57c1201b3a31c903d5ee613e90e27c8713392241f8c
Successfully built elasticsearch-curator
Installing collected packages: elasticsearch-curator
Successfully installed elasticsearch-curator-5.5.0
You are using pip version 9.0.1, however version 9.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

(That last one may be because I typically use the brew installed version, so there might be conflicts between the system and brew versions).

It also installed flawlessly on Windows with pip (again, Python 3.6.4).

I'll continue testing on my end. Any more information you can give me will be helpful as I try to track this down.

On mac clean python 3.6 (tried 3.5 too, same results)

$ pip list                                                                                                                                                                          
pip (9.0.2)
setuptools (28.8.0)

$ pip --version                                                                                                                                                                         
pip 9.0.2 from /Users/triat/.pyenv/versions/3.6.4/lib/python3.6/site-packages (python 3.6)

$ pip install elasticsearch-curator                                                                                                                                                    
Collecting elasticsearch-curator
  Using cached elasticsearch-curator-5.5.0.tar.gz
  Running setup.py (path:/private/var/folders/ld/578m39fx2pz105pmwwxz263r0000gn/T/pip-build-6bx1dzpy/elasticsearch-curator/setup.py) egg_info for package elasticsearch-curator produced metadata for project name unknown. Fix your #egg=elasticsearch-curator fragments.
Installing collected packages: unknown
  Running setup.py install for unknown ... done
Successfully installed unknown-0.0.0

Let me know if you need more information

Hi @untergeek,
you should check what's happen in setup.py steps, because the error is here. Try to check this command

git diff origin/5.4 origin/5.5

Or this link

The setup.py fails in 5.x and 5.5. I tryed in a clean virtualenv with Python 2.7.

This is messed up. I literally cannot replicate what you are seeing. In a clean, newly spun up environment (Ubuntu 1604) I used the system Python 3.5.2, and installed python3-pip via apt. I installed virtualenv, and you can see the flow below:

buh@ubuntu1604-pkg-test:~$ pip3 install --user -U virtualenv
Collecting virtualenv
  Downloading virtualenv-15.2.0-py2.py3-none-any.whl (2.6MB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 2.6MB 609kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv
You are using pip version 8.1.1, however version 9.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
buh@ubuntu1604-pkg-test:~$ ~/.local/bin/virtualenv curator_venv
Using base prefix '/usr'
New python executable in /home/buh/curator_venv/bin/python3
Also creating executable in /home/buh/curator_venv/bin/python
Installing setuptools, pip, wheel...done.
buh@ubuntu1604-pkg-test:~$ source curator_venv/bin/activate
(curator_venv) buh@ubuntu1604-pkg-test:~$ cd curator_venv/
(curator_venv) buh@ubuntu1604-pkg-test:~/curator_venv$ pip install elasticsearch-curator
Collecting elasticsearch-curator
  Downloading elasticsearch-curator-5.5.0.tar.gz (212kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 215kB 1.3MB/s
Collecting voluptuous>=0.9.3 (from elasticsearch-curator)
  Downloading voluptuous-0.11.1-py2.py3-none-any.whl
Collecting urllib3>=1.20 (from elasticsearch-curator)
  Downloading urllib3-1.22-py2.py3-none-any.whl (132kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 133kB 1.1MB/s
Collecting elasticsearch==5.5.2 (from elasticsearch-curator)
  Downloading elasticsearch-5.5.2-py2.py3-none-any.whl (59kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 61kB 1.4MB/s
Collecting click>=6.7 (from elasticsearch-curator)
  Downloading click-6.7-py2.py3-none-any.whl (71kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 71kB 1.4MB/s
Collecting pyyaml>=3.10 (from elasticsearch-curator)
  Downloading PyYAML-3.12.tar.gz (253kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 256kB 1.4MB/s
Collecting certifi>=2018.1.18 (from elasticsearch-curator)
  Downloading certifi-2018.1.18-py2.py3-none-any.whl (151kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 153kB 1.5MB/s
Building wheels for collected packages: elasticsearch-curator, pyyaml
  Running setup.py bdist_wheel for elasticsearch-curator ... done
  Stored in directory: /home/buh/.cache/pip/wheels/7b/c3/f5/d0674ae57c1201b3a31c903d5ee613e90e27c8713392241f8c
  Running setup.py bdist_wheel for pyyaml ... done
  Stored in directory: /home/buh/.cache/pip/wheels/2c/f7/79/13f3a12cd723892437c0cfbde1230ab4d82947ff7b3839a4fc
Successfully built elasticsearch-curator pyyaml
Installing collected packages: voluptuous, urllib3, elasticsearch, click, pyyaml, certifi, elasticsearch-curator
Successfully installed certifi-2018.1.18 click-6.7 elasticsearch-5.5.2 elasticsearch-curator-5.5.0 pyyaml-3.12 urllib3-1.22 voluptuous-0.11.1

Nothing here was cached, it's all clean downloads. Why can I not replicate what you are seeing?

Tried the same on a different Mac (a mac mini):

admin@mini-osxserver (08:42 AM) ~
๏ฃฟ virtualenv curator_venv
Using base prefix '/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/admin/curator_venv/bin/python3.6
Also creating executable in /Users/admin/curator_venv/bin/python
Installing setuptools, pip, wheel...done.
admin@mini-osxserver (08:42 AM) ~
๏ฃฟ source curator_venv/bin/activate
(curator_venv) admin@mini-osxserver (08:42 AM) ~
๏ฃฟ pip install elasticsearch-curator
Collecting elasticsearch-curator
  Downloading elasticsearch-curator-5.5.0.tar.gz (212kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 215kB 1.2MB/s
Collecting voluptuous>=0.9.3 (from elasticsearch-curator)
  Downloading voluptuous-0.11.1-py2.py3-none-any.whl
Collecting urllib3>=1.20 (from elasticsearch-curator)
  Downloading urllib3-1.22-py2.py3-none-any.whl (132kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 133kB 1.2MB/s
Collecting elasticsearch==5.5.2 (from elasticsearch-curator)
  Downloading elasticsearch-5.5.2-py2.py3-none-any.whl (59kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 61kB 1.2MB/s
Collecting click>=6.7 (from elasticsearch-curator)
  Downloading click-6.7-py2.py3-none-any.whl (71kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 71kB 1.3MB/s
Collecting pyyaml>=3.10 (from elasticsearch-curator)
  Downloading PyYAML-3.12.tar.gz (253kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 256kB 1.1MB/s
Collecting certifi>=2018.1.18 (from elasticsearch-curator)
  Downloading certifi-2018.1.18-py2.py3-none-any.whl (151kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 153kB 1.4MB/s
Building wheels for collected packages: elasticsearch-curator, pyyaml
  Running setup.py bdist_wheel for elasticsearch-curator ... done
  Stored in directory: /Users/admin/Library/Caches/pip/wheels/7b/c3/f5/d0674ae57c1201b3a31c903d5ee613e90e27c8713392241f8c
  Running setup.py bdist_wheel for pyyaml ... done
  Stored in directory: /Users/admin/Library/Caches/pip/wheels/2c/f7/79/13f3a12cd723892437c0cfbde1230ab4d82947ff7b3839a4fc
Successfully built elasticsearch-curator pyyaml
Installing collected packages: voluptuous, urllib3, elasticsearch, click, pyyaml, certifi, elasticsearch-curator
Successfully installed certifi-2018.1.18 click-6.7 elasticsearch-5.5.2 elasticsearch-curator-5.5.0 pyyaml-3.12 urllib3-1.22 voluptuous-0.11.1

It works here with Python 3.6.1.

I have an even longer flow installing from python setup.py install from the tarball on github here. Still can't get those errors.

I can confirm the docker behavior with the python:3.6.1-alpine image, but it works flawlessly with python:3.6.4-alpine:

admin@mini-osxserver (09:23 AM) ~
๏ฃฟ docker run -ti --rm python:3.6.4-alpine /bin/sh
Unable to find image 'python:3.6.4-alpine' locally
3.6.4-alpine: Pulling from library/python
81033e7c1d6a: Pull complete
9b61101706a6: Pull complete
35b21c1a8b97: Pull complete
4856f5aeeec4: Pull complete
5d8be0d67f9c: Pull complete
Digest: sha256:20d014036dc80a73b64d35db756ce5d79abf6e319b545e54719e815d8c9660c5
Status: Downloaded newer image for python:3.6.4-alpine
/ # pip install elasticsearch-curator
Collecting elasticsearch-curator
  Downloading elasticsearch-curator-5.5.0.tar.gz (212kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 215kB 1.2MB/s
Collecting voluptuous>=0.9.3 (from elasticsearch-curator)
  Downloading voluptuous-0.11.1-py2.py3-none-any.whl
Collecting urllib3>=1.20 (from elasticsearch-curator)
  Downloading urllib3-1.22-py2.py3-none-any.whl (132kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 133kB 1.2MB/s
Collecting elasticsearch==5.5.2 (from elasticsearch-curator)
  Downloading elasticsearch-5.5.2-py2.py3-none-any.whl (59kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 61kB 1.4MB/s
Collecting click>=6.7 (from elasticsearch-curator)
  Downloading click-6.7-py2.py3-none-any.whl (71kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 71kB 1.4MB/s
Collecting pyyaml>=3.10 (from elasticsearch-curator)
  Downloading PyYAML-3.12.tar.gz (253kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 256kB 996kB/s
Collecting certifi>=2018.1.18 (from elasticsearch-curator)
  Downloading certifi-2018.1.18-py2.py3-none-any.whl (151kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 153kB 1.4MB/s
Building wheels for collected packages: elasticsearch-curator, pyyaml
  Running setup.py bdist_wheel for elasticsearch-curator ... done
  Stored in directory: /root/.cache/pip/wheels/7b/c3/f5/d0674ae57c1201b3a31c903d5ee613e90e27c8713392241f8c
  Running setup.py bdist_wheel for pyyaml ... done
  Stored in directory: /root/.cache/pip/wheels/2c/f7/79/13f3a12cd723892437c0cfbde1230ab4d82947ff7b3839a4fc
Successfully built elasticsearch-curator pyyaml
Installing collected packages: voluptuous, urllib3, elasticsearch, click, pyyaml, certifi, elasticsearch-curator
Successfully installed certifi-2018.1.18 click-6.7 elasticsearch-5.5.2 elasticsearch-curator-5.5.0 pyyaml-3.12 urllib3-1.22 voluptuous-0.11.1
You are using pip version 9.0.2, however version 9.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

And it fails in docker with python:2.7.13-alpine:

admin@mini-osxserver (09:25 AM) ~
๏ฃฟ docker run -ti --rm python:2.7.13-alpine /bin/sh
Unable to find image 'python:2.7.13-alpine' locally
2.7.13-alpine: Pulling from library/python
90f4dba627d6: Already exists
a615e2cf13bb: Pull complete
2e911db79bd7: Pull complete
206337ed2b09: Pull complete
Digest: sha256:91139f5fe39083d5fa1c37ba7b4213395104c146bc7f841880d136c5dbff3bfd
Status: Downloaded newer image for python:2.7.13-alpine
/ # pip install elasticsearch-curator
Collecting elasticsearch-curator
  Downloading elasticsearch-curator-5.5.0.tar.gz (212kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 215kB 1.1MB/s
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-sK3qRm/elasticsearch-curator/setup.py", line 140, in <module>
        test_suite = "test.run_tests.run_all",
      File "/usr/local/lib/python2.7/distutils/core.py", line 124, in setup
        dist.parse_config_files()
      File "/usr/local/lib/python2.7/site-packages/setuptools/dist.py", line 437, in parse_config_files
        parse_configuration(self, self.command_options)
      File "/usr/local/lib/python2.7/site-packages/setuptools/config.py", line 106, in parse_configuration
        meta.parse()
      File "/usr/local/lib/python2.7/site-packages/setuptools/config.py", line 382, in parse
        section_parser_method(section_options)
      File "/usr/local/lib/python2.7/site-packages/setuptools/config.py", line 355, in parse_section
        self[name] = value
      File "/usr/local/lib/python2.7/site-packages/setuptools/config.py", line 173, in __setitem__
        value = parser(value)
      File "/usr/local/lib/python2.7/site-packages/setuptools/config.py", line 428, in _parse_version
        version = self._parse_attr(value)
      File "/usr/local/lib/python2.7/site-packages/setuptools/config.py", line 305, in _parse_attr
        module = import_module(module_name)
      File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module
        __import__(name)
      File "/tmp/pip-build-sK3qRm/elasticsearch-curator/curator/__init__.py", line 4, in <module>
        from .validators import *
      File "/tmp/pip-build-sK3qRm/elasticsearch-curator/curator/validators/__init__.py", line 1, in <module>
        from .schemacheck import SchemaCheck
      File "/tmp/pip-build-sK3qRm/elasticsearch-curator/curator/validators/schemacheck.py", line 1, in <module>
        from voluptuous import *
    ImportError: No module named voluptuous

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-sK3qRm/elasticsearch-curator/
You are using pip version 9.0.1, however version 9.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Same with 2.7.14, as it seems to have a hard time with the dependencies. I think I need to roll back the changes introduced in #1122 as they are the lynchpin here.

It seems the issues are related to changes in the setup.py that were not supported by Python 3.6.1, and perhaps older versions. These were addressed in continuous CI by adding these lines to the .travis.yml. Pre-installing the dependencies seems to have addressed it for those cases, but this hid the deeper problem.

I'm rolling those changes back, and taking out those lines until it builds properly in CI.

Hi @untergeek,
if you want replicate the error in clean environment you should follow these steps:

$ mkdir test
$ virtualenv -p python2 venv
$ source venv/bin/activate
$ git clone https://github.com/elastic/curator.git
$ cd curator
$ git checkout origin/5.5
$ python setup.py install

That's it.

The committed changes work.

Confirmed behavior fixed where it was previously broken:

admin@mini-osxserver (11:28 AM) ~
๏ฃฟ docker run -ti --rm python:2.7.13-alpine /bin/sh
/ # pip install elasticsearch-curator
Collecting elasticsearch-curator
  Downloading elasticsearch-curator-5.5.1.tar.gz (212kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 215kB 1.2MB/s
Collecting elasticsearch==5.5.2 (from elasticsearch-curator)
  Downloading elasticsearch-5.5.2-py2.py3-none-any.whl (59kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 61kB 1.4MB/s
Collecting click>=6.7 (from elasticsearch-curator)
  Downloading click-6.7-py2.py3-none-any.whl (71kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 71kB 1.3MB/s
Collecting pyyaml>=3.10 (from elasticsearch-curator)
  Downloading PyYAML-3.12.tar.gz (253kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 256kB 1.2MB/s
Collecting voluptuous>=0.9.3 (from elasticsearch-curator)
  Downloading voluptuous-0.11.1-py2.py3-none-any.whl
Collecting certifi>=2018.1.18 (from elasticsearch-curator)
  Downloading certifi-2018.1.18-py2.py3-none-any.whl (151kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 153kB 160kB/s
Collecting urllib3<1.23,>=1.21.1 (from elasticsearch==5.5.2->elasticsearch-curator)
  Downloading urllib3-1.22-py2.py3-none-any.whl (132kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 133kB 1.2MB/s
Building wheels for collected packages: elasticsearch-curator, pyyaml
  Running setup.py bdist_wheel for elasticsearch-curator ... done
  Stored in directory: /root/.cache/pip/wheels/c1/b9/58/addd16f5286686748b19791dfc6580291e04d7c04248f4616a
  Running setup.py bdist_wheel for pyyaml ... done
  Stored in directory: /root/.cache/pip/wheels/2c/f7/79/13f3a12cd723892437c0cfbde1230ab4d82947ff7b3839a4fc
Successfully built elasticsearch-curator pyyaml
Installing collected packages: urllib3, elasticsearch, click, pyyaml, voluptuous, certifi, elasticsearch-curator
Successfully installed certifi-2018.1.18 click-6.7 elasticsearch-5.5.2 elasticsearch-curator-5.5.1 pyyaml-3.12 urllib3-1.22 voluptuous-0.11.1
You are using pip version 9.0.1, however version 9.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Thanks for fixing this @untergeek I hadn't thought to try a different python version.

@undergeek The Docker build on v5.5.1 is still broken for me:

$ docker build .
Sending build context to Docker daemon   4.54MB
Step 1/13 : FROM python:3.6-alpine3.6 as builder
 ---> 0cdaeba796e2
Step 2/13 : RUN apk --no-cache add build-base tar musl-utils openssl-dev
 ---> Using cache
 ---> c8cbfe7fc414
Step 3/13 : RUN pip3 install setuptools cx_Freeze==6.0b1 requests-aws4auth boto3
 ---> Using cache
 ---> e72e5de2f62f
Step 4/13 : COPY . .
 ---> 7fa039a33fb9
Step 5/13 : RUN ln -s /lib/libc.musl-x86_64.so.1 ldd
 ---> Running in 74dcf88d4784
Removing intermediate container 74dcf88d4784
 ---> 0df68e0d0dee
Step 6/13 : RUN ln -s /lib /lib64
 ---> Running in 8467215f94e4
Removing intermediate container 8467215f94e4
 ---> 7bef3a6fd45c
Step 7/13 : RUN pip3 install -r requirements.txt
 ---> Running in 89e67a5dc2b1
Collecting voluptuous>=0.9.3 (from -r requirements.txt (line 1))
  Downloading https://files.pythonhosted.org/packages/f5/09/a0e20a0bd743131e237128bad3a4f83b283f70c032b7e7c0f06baf7f6862/voluptuous-0.11.1-py2.py3-none-any.whl
Collecting elasticsearch==5.5.2 (from -r requirements.txt (line 2))
  Downloading https://files.pythonhosted.org/packages/7f/b0/c87bc0744c3193c7b7f07b0469bbeaaf7df363cb452d882783c283572345/elasticsearch-5.5.2-py2.py3-none-any.whl (59kB)
Collecting click>=6.7 (from -r requirements.txt (line 3))
  Downloading https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl (71kB)
Collecting pyyaml>=3.10 (from -r requirements.txt (line 4))
  Downloading https://files.pythonhosted.org/packages/4a/85/db5a2df477072b2902b0eb892feb37d88ac635d36245a72a6a69b23b383a/PyYAML-3.12.tar.gz (253kB)
Requirement already satisfied: certifi>=2018.1.18 in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 5))
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python3.6/site-packages (from elasticsearch==5.5.2->-r requirements.txt (line 2))
Building wheels for collected packages: pyyaml
  Running setup.py bdist_wheel for pyyaml: started
  Running setup.py bdist_wheel for pyyaml: finished with status 'done'
  Stored in directory: /root/.cache/pip/wheels/03/05/65/bdc14f2c6e09e82ae3e0f13d021e1b6b2481437ea2f207df3f
Successfully built pyyaml
Installing collected packages: voluptuous, elasticsearch, click, pyyaml
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python3.6/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python3.6/site-packages/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/usr/local/lib/python3.6/site-packages/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/local/lib/python3.6/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/usr/local/lib/python3.6/site-packages/pip/wheel.py", line 247, in move_wheel_files
    prefix=prefix,
  File "/usr/local/lib/python3.6/site-packages/pip/locations.py", line 141, in distutils_scheme
    d.parse_config_files()
  File "/usr/local/lib/python3.6/site-packages/setuptools/dist.py", line 494, in parse_config_files
    ignore_option_errors=ignore_option_errors)
  File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 106, in parse_configuration
    meta.parse()
  File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 382, in parse
    section_parser_method(section_options)
  File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 355, in parse_section
    self[name] = value
  File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 173, in __setitem__
    value = parser(value)
  File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 430, in _parse_version
    version = self._parse_attr(value)
  File "/usr/local/lib/python3.6/site-packages/setuptools/config.py", line 305, in _parse_attr
    module = import_module(module_name)
  File "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/curator/__init__.py", line 4, in <module>
    from .validators import *
  File "/curator/validators/__init__.py", line 1, in <module>
    from .schemacheck import SchemaCheck
  File "/curator/validators/schemacheck.py", line 1, in <module>
    from voluptuous import *
ModuleNotFoundError: No module named 'voluptuous'
You are using pip version 9.0.3, however version 10.0.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
The command '/bin/sh -c pip3 install -r requirements.txt' returned a non-zero code: 2

Upgrading to python:3.6.4-alpine does not fix it for me (no change). Instead I use a workaround similar to the .travis.yml fix which you mentioned above:

diff --git a/Dockerfile b/Dockerfile
index 5412f8d..6a504d9 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,10 +3,11 @@ FROM python:3.6-alpine3.6 as builder
 RUN apk --no-cache add build-base tar musl-utils openssl-dev
 RUN pip3 install setuptools cx_Freeze==6.0b1 requests-aws4auth boto3

-COPY . .
+COPY requirements.txt .
 RUN ln -s /lib/libc.musl-x86_64.so.1 ldd
 RUN ln -s /lib /lib64
 RUN pip3 install -r requirements.txt
+COPY . .
 RUN python3 setup.py build_exe

 FROM alpine:3.6

This is still an open issue...

I'm trying to install curator on REL7.4 and it fails for python v2 & 3.

I'm upgrading the elasticsearch-curator package in nixpkgs from 5.5.4 to 5.6.0 in https://github.com/NixOS/nixpkgs/pull/51256. Unfortunately building the package fails with a similar error as reported in this issue:

$ nix-build -A python3Packages.elasticsearch-curator
these derivations will be built:
  /nix/store/vbx2jrfy19q21ivdpv3l04n96m34jg4j-python3.7-elasticsearch-curator-5.6.0.drv
building '/nix/store/vbx2jrfy19q21ivdpv3l04n96m34jg4j-python3.7-elasticsearch-curator-5.6.0.drv'...
unpacking sources
unpacking source archive /nix/store/z1s4dr36v0js0r8csfgsw8dvii5d8hwi-elasticsearch-curator-5.6.0.tar.gz
source root is elasticsearch-curator-5.6.0
setting SOURCE_DATE_EPOCH to timestamp 1542168764 of file elasticsearch-curator-5.6.0/setup.cfg
patching sources
configuring
building
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/curator
copying curator/singletons.py -> build/lib/curator
copying curator/curator_cli.py -> build/lib/curator
copying curator/__main__.py -> build/lib/curator
copying curator/snapshotlist.py -> build/lib/curator
copying curator/repomgrcli.py -> build/lib/curator
copying curator/indexlist.py -> build/lib/curator
copying curator/utils.py -> build/lib/curator
copying curator/cli.py -> build/lib/curator
copying curator/exceptions.py -> build/lib/curator
copying curator/_version.py -> build/lib/curator
copying curator/actions.py -> build/lib/curator
copying curator/config_utils.py -> build/lib/curator
copying curator/__init__.py -> build/lib/curator
copying curator/logtools.py -> build/lib/curator
running egg_info
writing elasticsearch_curator.egg-info/PKG-INFO
writing dependency_links to elasticsearch_curator.egg-info/dependency_links.txt
writing entry points to elasticsearch_curator.egg-info/entry_points.txt
writing requirements to elasticsearch_curator.egg-info/requires.txt
writing top-level names to elasticsearch_curator.egg-info/top_level.txt
reading manifest file 'elasticsearch_curator.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'Changelog.rst'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
warning: no previously-included files matching '*.pyc' found under directory 'curator'
warning: no previously-included files matching '*.pyo' found under directory 'curator'
warning: no previously-included files matching '*.pyc' found under directory 'docs'
warning: no previously-included files matching '*.pyo' found under directory 'docs'
warning: no previously-included files matching '*.pyc' found under directory 'test'
warning: no previously-included files matching '*.pyo' found under directory 'test'
no previously-included directories found matching 'docs/_build'
no previously-included directories found matching 'docs/asciidoc/html_docs'
writing manifest file 'elasticsearch_curator.egg-info/SOURCES.txt'
creating build/lib/curator/cli_singletons
copying curator/cli_singletons/__init__.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/alias.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/allocation.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/close.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/delete.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/forcemerge.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/object_class.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/open_indices.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/replicas.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/restore.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/rollover.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/show.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/shrink.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/snapshot.py -> build/lib/curator/cli_singletons
copying curator/cli_singletons/utils.py -> build/lib/curator/cli_singletons
creating build/lib/curator/defaults
copying curator/defaults/__init__.py -> build/lib/curator/defaults
copying curator/defaults/client_defaults.py -> build/lib/curator/defaults
copying curator/defaults/filter_elements.py -> build/lib/curator/defaults
copying curator/defaults/filtertypes.py -> build/lib/curator/defaults
copying curator/defaults/option_defaults.py -> build/lib/curator/defaults
copying curator/defaults/settings.py -> build/lib/curator/defaults
creating build/lib/curator/validators
copying curator/validators/__init__.py -> build/lib/curator/validators
copying curator/validators/actions.py -> build/lib/curator/validators
copying curator/validators/config_file.py -> build/lib/curator/validators
copying curator/validators/filters.py -> build/lib/curator/validators
copying curator/validators/options.py -> build/lib/curator/validators
copying curator/validators/schemacheck.py -> build/lib/curator/validators
running build_exe
error: [Errno 2] No such file or directory: 'run_curator.py'

Any idea how to fix this?

I have the same issue, but with python 3.8.
Any idea how this should be fixed?

For what it's worth if it helps anyone - you can run it in a docker container, these are the steps for macos:

# Assuming ES is running on your localhost
docker run -it --network host --entrypoint bash bitnami/elasticsearch-curator

Then use the CLI from within:

curator_cli --host docker.for.mac.localhost list_indices
Was this page helpful?
0 / 5 - 0 ratings

Related issues

ppf2 picture ppf2  ยท  6Comments

ppf2 picture ppf2  ยท  4Comments

Howard-Chang picture Howard-Chang  ยท  8Comments

psypuff picture psypuff  ยท  7Comments

eamanu picture eamanu  ยท  9Comments