Curator: Add support for Python 3.8

Created on 19 Dec 2019  路  18Comments  路  Source: elastic/curator

building es-curator without cx_Freeze causes:

Traceback (most recent call last):
  File "setup.py", line 42, in <module>
    from cx_Freeze import setup, Executable
ModuleNotFoundError: No module named 'cx_Freeze'

because the try..except at https://github.com/elastic/curator/blob/master/setup.py#L143 matches ImportError not ModuleNotFoundError

please extend it to cover both exceptions (likely the second comes from a reorg of exceptions in python 3.8)

Most helpful comment

In Kolla I proposed this workaround for now:

pip install "boto3<1.16" "botocore<1.19"
pip install elasticsearch-curator

All 18 comments

Python 3.8 is not yet tested, nor supported for Curator. Thanks for reporting this, but what you're experiencing might be something I have to address for 3.8, as I do not see this for 3.6 or 3.7.

I'll rename the issue to make it a request for Python 3.8 support.

we're in the process of upgrading curator in Debian, which already has 3.8 among the python3 versions we support; anything that can be done to expedite 3.8 support in curator will be much helpful. thanks!

Started seeing those issues on Ubuntu:18.04 - dump:
INFO:kolla.common.utils.elasticsearch-curator:Collecting elasticsearch-curator
INFO:kolla.common.utils.elasticsearch-curator: Downloading https://files.pythonhosted.org/packages/34/78/787a52834656f7f5dab6d709e38876c4d2604f0e1a16d17937d00330b0c5/elasticsearch-curator-5.8.1.tar.gz (225kB)
INFO:kolla.common.utils.elasticsearch-curator: Complete output from command python setup.py egg_info:
INFO:kolla.common.utils.elasticsearch-curator: WARNING: The wheel package is not available.
INFO:kolla.common.utils.elasticsearch-curator: WARNING: The wheel package is not available.
INFO:kolla.common.utils.elasticsearch-curator: WARNING: The wheel package is not available.
INFO:kolla.common.utils.elasticsearch-curator: ERROR: Failed to build one or more wheels
INFO:kolla.common.utils.elasticsearch-curator: Traceback (most recent call last):
INFO:kolla.common.utils.elasticsearch-curator: File "/tmp/pip-build-ffzzlh4w/elasticsearch-curator/setup.py", line 39, in
INFO:kolla.common.utils.elasticsearch-curator: from cx_Freeze import setup, Executable
INFO:kolla.common.utils.elasticsearch-curator: ModuleNotFoundError: No module named 'cx_Freeze'
INFO:kolla.common.utils.elasticsearch-curator:
INFO:kolla.common.utils.elasticsearch-curator: During handling of the above exception, another exception occurred:
INFO:kolla.common.utils.elasticsearch-curator:
INFO:kolla.common.utils.elasticsearch-curator: Traceback (most recent call last):
INFO:kolla.common.utils.elasticsearch-curator: File "/usr/lib/python3/dist-packages/setuptools/installer.py", line 128, in fetch_build_egg
INFO:kolla.common.utils.elasticsearch-curator: subprocess.check_call(cmd)
INFO:kolla.common.utils.elasticsearch-curator: File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
INFO:kolla.common.utils.elasticsearch-curator: raise CalledProcessError(retcode, cmd)
INFO:kolla.common.utils.elasticsearch-curator: subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmplppdnlnf', '--quiet', 'pyyaml==3.13']' returned non-zero exit status 1.
INFO:kolla.common.utils.elasticsearch-curator:
INFO:kolla.common.utils.elasticsearch-curator: During handling of the above exception, another exception occurred:
INFO:kolla.common.utils.elasticsearch-curator:
INFO:kolla.common.utils.elasticsearch-curator: Traceback (most recent call last):
INFO:kolla.common.utils.elasticsearch-curator: File "", line 1, in
INFO:kolla.common.utils.elasticsearch-curator: File "/tmp/pip-build-ffzzlh4w/elasticsearch-curator/setup.py", line 177, in
INFO:kolla.common.utils.elasticsearch-curator: tests_require = ["mock", "nose", "coverage", "nosexcover"]
INFO:kolla.common.utils.elasticsearch-curator: File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 143, in setup
INFO:kolla.common.utils.elasticsearch-curator: _install_setup_requires(attrs)
INFO:kolla.common.utils.elasticsearch-curator: File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 138, in _install_setup_requires
INFO:kolla.common.utils.elasticsearch-curator: dist.fetch_build_eggs(dist.setup_requires)
INFO:kolla.common.utils.elasticsearch-curator: File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 721, in fetch_build_eggs
INFO:kolla.common.utils.elasticsearch-curator: replace_conflicting=True,
INFO:kolla.common.utils.elasticsearch-curator: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 783, in resolve
INFO:kolla.common.utils.elasticsearch-curator: replace_conflicting=replace_conflicting
INFO:kolla.common.utils.elasticsearch-curator: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1066, in best_match
INFO:kolla.common.utils.elasticsearch-curator: return self.obtain(req, installer)
INFO:kolla.common.utils.elasticsearch-curator: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1078, in obtain
INFO:kolla.common.utils.elasticsearch-curator: return installer(requirement)
INFO:kolla.common.utils.elasticsearch-curator: File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 777, in fetch_build_egg
INFO:kolla.common.utils.elasticsearch-curator: return fetch_build_egg(self, req)
INFO:kolla.common.utils.elasticsearch-curator: File "/usr/lib/python3/dist-packages/setuptools/installer.py", line 130, in fetch_build_egg
INFO:kolla.common.utils.elasticsearch-curator: raise DistutilsError(str(e))
INFO:kolla.common.utils.elasticsearch-curator: distutils.errors.DistutilsError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmplppdnlnf', '--quiet', 'pyyaml==3.13']' returned non-zero exit status 1.
INFO:kolla.common.utils.elasticsearch-curator:
INFO:kolla.common.utils.elasticsearch-curator: ----------------------------------------
INFO:kolla.common.utils.elasticsearch-curator:Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-ffzzlh4w/elasticsearch-curator/
INFO:kolla.common.utils.elasticsearch-curator:

ubuntu 18.04 in no way has 3.8 as officially supported, so the last comment is 100% unrelated to this issue

I can tell you that 3.8 is now added to the Travis CI tests, and is passing. This issue seems predominately associated with packaging rather than functionality.

Yeah, did some more digging, and it was related to pyyaml build failing, due to lack of python3-wheel package. God knows why Ubuntu does not install python3-wheel package, when installing python3-setuptools...

I can tell you that 3.8 is now added to the Travis CI tests, and is passing.

Wondering... what else is needed here?

The fix for me (on Ubuntu 20.04) was to apt-get install -y python3-wheel (thanks for the suggestion @mnasiadka!).

CentOS 8 has Python 3.6:

(venv3) 13:30 (217s) hrw@puchatek:kolla$ drun centos:8
[root@a2e718a02469 /]# cd
[root@a2e718a02469 ~]# dnf install python3-pip python3-wheel python3-setuptools
Failed to set locale, defaulting to C.UTF-8
CentOS-8 - AppStream                                                                                                                                                                                                                                                                                            1.9 MB/s | 5.8 MB     00:02    
CentOS-8 - Base                                                                                                                                                                                                                                                                                                 1.4 MB/s | 2.2 MB     00:01    
CentOS-8 - Extras                                                                                                                      19 kB/s | 8.1 kB     00:0                                                                                   ] ---  B/s |   0  B     --:-- ETA                          ] ---  B/s |   0  B     --:-- ETA0    
Dependencies resolved.
========================================================================================================================================================
 Package                              Architecture            Version                                                  Repository                  Size
========================================================================================================================================================
Installing:
 python3-pip                          noarch                  9.0.3-16.el8                                             AppStream                   19 k
 python3-setuptools                   noarch                  39.2.0-5.el8                                             BaseOS                     162 k
 python3-wheel                        noarch                  1:0.31.1-2.module_el8.1.0+245+c39af44f                   AppStream                   68 k
Installing dependencies:
 platform-python-pip                  noarch                  9.0.3-16.el8                                             BaseOS                     1.8 M
 python36                             x86_64                  3.6.8-2.module_el8.1.0+245+c39af44f                      AppStream                   19 k
Enabling module streams:
 python36                                                     3.6                                                                                      

Transaction Summary
========================================================================================================================================================
Install  5 Packages

Total download size: 2.1 M
Installed size: 8.0 M
Is this ok [y/N]: y
Downloading Packages:
CentOS-8 - AppStream                                    198% [==========================================================================================(1/5): python3-pip-9.0.3-16.el8.noarch.rpm                                                                               93 kB/s |  19 kB     00:00    
(2/5): python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm                                                           86 kB/s |  19 kB     00:00    
(3/5): python3-wheel-0.31.1-2.module_el8.1.0+245+c39af44f.noarch.rpm                                                    246 kB/s |  68 kB     00:00    
(4/5): python3-setuptools-39.2.0-5.el8.noarch.rpm                                                                       379 kB/s | 162 kB     00:00    
(5/5): platform-python-pip-9.0.3-16.el8.noarch.rpm                                                                      1.4 MB/s | 1.8 MB     00:01    
--------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                   886 kB/s | 2.1 MB     00:02     
warning: /var/cache/dnf/AppStream-02e86d1c976ab532/packages/python3-pip-9.0.3-16.el8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS-8 - AppStream                                                                                                    1.6 MB/s | 1.6 kB     00:00    
Importing GPG key 0x8483C65D:
 Userid     : "CentOS (CentOS Official Signing Key) <[email protected]>"
 Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                1/1 
  Installing       : python3-setuptools-39.2.0-5.el8.noarch                                                                                         1/5 
  Installing       : platform-python-pip-9.0.3-16.el8.noarch                                                                                        2/5 
  Installing       : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64                                                                            3/5 
  Running scriptlet: python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64                                                                            3/5 
  Installing       : python3-pip-9.0.3-16.el8.noarch                                                                                                4/5 
  Installing       : python3-wheel-1:0.31.1-2.module_el8.1.0+245+c39af44f.noarch                                                                    5/5 
  Running scriptlet: python3-wheel-1:0.31.1-2.module_el8.1.0+245+c39af44f.noarch                                                                    5/5 
  Verifying        : python3-pip-9.0.3-16.el8.noarch                                                                                                1/5 
  Verifying        : python3-wheel-1:0.31.1-2.module_el8.1.0+245+c39af44f.noarch                                                                    2/5 
  Verifying        : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64                                                                            3/5 
  Verifying        : platform-python-pip-9.0.3-16.el8.noarch                                                                                        4/5 
  Verifying        : python3-setuptools-39.2.0-5.el8.noarch                                                                                         5/5 

Installed:
  platform-python-pip-9.0.3-16.el8.noarch                                python3-pip-9.0.3-16.el8.noarch                                               
  python3-setuptools-39.2.0-5.el8.noarch                                 python3-wheel-1:0.31.1-2.module_el8.1.0+245+c39af44f.noarch                   
  python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64                   

Complete!
[root@a2e718a02469 ~]# pip3 install elasticsearch-curator
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting elasticsearch-curator
  Downloading https://files.pythonhosted.org/packages/34/78/787a52834656f7f5dab6d709e38876c4d2604f0e1a16d17937d00330b0c5/elasticsearch-curator-5.8.1.tar.gz (225kB)
    100% |鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅| 235kB 2.0MB/s 
    Complete output from command python setup.py egg_info:

    libyaml is not found or a compiler error: forcing --without-libyaml
    (if libyaml is installed correctly, you may need to
     specify the option --include-dirs or uncomment and
     modify the parameter include_dirs in setup.cfg)
    zip_safe flag not set; analyzing archive contents...

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/PyYAML-3.13-py3.6-linux-x86_64.egg
    Searching for click<7.0,>=6.7
    Reading https://pypi.org/simple/click/
    Downloading https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl#sha256=29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d
    Best match: click 6.7
    Processing click-6.7-py2.py3-none-any.whl
    Installing click-6.7-py2.py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/click-6.7-py3.6.egg
    Searching for requests_aws4auth>=0.9
    Reading https://pypi.org/simple/requests_aws4auth/
    Downloading https://files.pythonhosted.org/packages/4e/44/dec6791ef89cef395918f6e4268d0f30096ee798523fcf26edd53117210a/requests_aws4auth-1.0.1-py2.py3-none-any.whl#sha256=6ddc92476c0ebab6c90709966e0ff3b2f16ba1f296b7ea8573645bbbe5ef9444
    Best match: requests-aws4auth 1.0.1
    Processing requests_aws4auth-1.0.1-py2.py3-none-any.whl
    Installing requests_aws4auth-1.0.1-py2.py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs
    writing requirements to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/requests_aws4auth-1.0.1-py3.6.egg/EGG-INFO/requires.txt

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/requests_aws4auth-1.0.1-py3.6.egg
    Searching for boto3>=1.9.142
    Reading https://pypi.org/simple/boto3/
    Downloading https://files.pythonhosted.org/packages/86/b7/b284f4053b2b8ab867c1db6086a1a908e0e1f60329935ddc1a8a96d4a3e4/boto3-1.16.1-py2.py3-none-any.whl#sha256=abfd82a98fd3399d549dd77575e8933764928f4d7e9c4c24c3efc7e41719d238
    Best match: boto3 1.16.1
    Processing boto3-1.16.1-py2.py3-none-any.whl
    Installing boto3-1.16.1-py2.py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs
    writing requirements to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/boto3-1.16.1-py3.6.egg/EGG-INFO/requires.txt

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/boto3-1.16.1-py3.6.egg
    Searching for requests>=2.20.0
    Reading https://pypi.org/simple/requests/
    Downloading https://files.pythonhosted.org/packages/45/1e/0c169c6a5381e241ba7404532c16a21d86ab872c9bed8bdcd4c423954103/requests-2.24.0-py2.py3-none-any.whl#sha256=fe75cc94a9443b9246fc7049224f75604b113c36acb93f87b80ed42c44cbb898
    Best match: requests 2.24.0
    Processing requests-2.24.0-py2.py3-none-any.whl
    Installing requests-2.24.0-py2.py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs
    writing requirements to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/requests-2.24.0-py3.6.egg/EGG-INFO/requires.txt

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/requests-2.24.0-py3.6.egg
    Searching for urllib3<1.25,>=1.24.2
    Reading https://pypi.org/simple/urllib3/
    Downloading https://files.pythonhosted.org/packages/01/11/525b02e4acc0c747de8b6ccdab376331597c569c42ea66ab0a1dbd36eca2/urllib3-1.24.3-py2.py3-none-any.whl#sha256=a637e5fae88995b256e3409dc4d52c2e2e0ba32c42a6365fee8bbd2238de3cfb
    Best match: urllib3 1.24.3
    Processing urllib3-1.24.3-py2.py3-none-any.whl
    Installing urllib3-1.24.3-py2.py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs
    writing requirements to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/urllib3-1.24.3-py3.6.egg/EGG-INFO/requires.txt

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/urllib3-1.24.3-py3.6.egg
    Searching for elasticsearch<8.0.0,>=7.0.4
    Reading https://pypi.org/simple/elasticsearch/
    Downloading https://files.pythonhosted.org/packages/38/5c/c3efebe8065bd4f9e815751009841934b8fcd7bfba93362a54384a04fd8b/elasticsearch-7.10.0a2-py2.py3-none-any.whl#sha256=4883b42428fc073b2bb19c2c4d13ad4c951e2f1bde73c40dc2f2ae7bbd3c3526
    Best match: elasticsearch 7.10.0a2
    Processing elasticsearch-7.10.0a2-py2.py3-none-any.whl
    Installing elasticsearch-7.10.0a2-py2.py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs
    writing requirements to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/elasticsearch-7.10.0a2-py3.6.egg/EGG-INFO/requires.txt

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/elasticsearch-7.10.0a2-py3.6.egg
    Searching for voluptuous>=0.9.3
    Reading https://pypi.org/simple/voluptuous/
    Downloading https://files.pythonhosted.org/packages/d3/e9/861cec3f4da0728d9d085db9c338b598351cbacb10521c25f0857f55c6d4/voluptuous-0.12.0-py3-none-any.whl#sha256=0fff348a097c9a74f9f4a991d2cf01a6185780e997ad953bde49cb3efbb411be
    Best match: voluptuous 0.12.0
    Processing voluptuous-0.12.0-py3-none-any.whl
    Installing voluptuous-0.12.0-py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/voluptuous-0.12.0-py3.6.egg
    Searching for s3transfer<0.4.0,>=0.3.0
    Reading https://pypi.org/simple/s3transfer/
    Downloading https://files.pythonhosted.org/packages/69/79/e6afb3d8b0b4e96cefbdc690f741d7dd24547ff1f94240c997a26fa908d3/s3transfer-0.3.3-py2.py3-none-any.whl#sha256=2482b4259524933a022d59da830f51bd746db62f047d6eb213f2f8855dcb8a13
    Best match: s3transfer 0.3.3
    Processing s3transfer-0.3.3-py2.py3-none-any.whl
    Installing s3transfer-0.3.3-py2.py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs
    writing requirements to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/s3transfer-0.3.3-py3.6.egg/EGG-INFO/requires.txt

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/s3transfer-0.3.3-py3.6.egg
    Searching for jmespath<1.0.0,>=0.7.1
    Reading https://pypi.org/simple/jmespath/
    Downloading https://files.pythonhosted.org/packages/07/cb/5f001272b6faeb23c1c9e0acc04d48eaaf5c862c17709d20e3469c6e0139/jmespath-0.10.0-py2.py3-none-any.whl#sha256=cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f
    Best match: jmespath 0.10.0
    Processing jmespath-0.10.0-py2.py3-none-any.whl
    Installing jmespath-0.10.0-py2.py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/jmespath-0.10.0-py3.6.egg
    Searching for botocore<1.20.0,>=1.19.1
    Reading https://pypi.org/simple/botocore/
    Downloading https://files.pythonhosted.org/packages/15/53/f4eee30d48e0e495a1ec73ca1c8cc2b6090c378bdb226e42e8cac9278e1e/botocore-1.19.1-py2.py3-none-any.whl#sha256=873028eb00120fa310226edd584c4cab3eb6ace08b5ad5b8cce1f5f9514e9771
    Best match: botocore 1.19.1
    Processing botocore-1.19.1-py2.py3-none-any.whl
    Installing botocore-1.19.1-py2.py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs
    writing requirements to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/botocore-1.19.1-py3.6.egg/EGG-INFO/requires.txt

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/botocore-1.19.1-py3.6.egg
    Searching for idna<3,>=2.5
    Reading https://pypi.org/simple/idna/
    Downloading https://files.pythonhosted.org/packages/a2/38/928ddce2273eaa564f6f50de919327bf3a00f091b5baba8dfa9460f3a8a8/idna-2.10-py2.py3-none-any.whl#sha256=b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0
    Best match: idna 2.10
    Processing idna-2.10-py2.py3-none-any.whl
    Installing idna-2.10-py2.py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/idna-2.10-py3.6.egg
    Searching for chardet<4,>=3.0.2
    Reading https://pypi.org/simple/chardet/
    Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl#sha256=fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691
    Best match: chardet 3.0.4
    Processing chardet-3.0.4-py2.py3-none-any.whl
    Installing chardet-3.0.4-py2.py3-none-any.whl to /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs

    Installed /tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/chardet-3.0.4-py3.6.egg
    Traceback (most recent call last):
      File "/tmp/pip-build-9s1tcljz/elasticsearch-curator/setup.py", line 39, 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-9s1tcljz/elasticsearch-curator/setup.py", line 177, in <module>
        tests_require = ["mock", "nose", "coverage", "nosexcover"]
      File "/usr/lib/python3.6/site-packages/setuptools/__init__.py", line 128, in setup
        _install_setup_requires(attrs)
      File "/usr/lib/python3.6/site-packages/setuptools/__init__.py", line 123, in _install_setup_requires
        dist.fetch_build_eggs(dist.setup_requires)
      File "/usr/lib/python3.6/site-packages/setuptools/dist.py", line 514, in fetch_build_eggs
        replace_conflicting=True,
      File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 779, in resolve
        raise VersionConflict(dist, req).with_context(dependent_req)
    pkg_resources.ContextualVersionConflict: (urllib3 1.24.3 (/tmp/pip-build-9s1tcljz/elasticsearch-curator/.eggs/urllib3-1.24.3-py3.6.egg), Requirement.parse('urllib3<1.26,>=1.25.4'), {'botocore'})

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-9s1tcljz/elasticsearch-curator/
[root@a2e718a02469 ~]# 

python3-wheel package is already installed on ubuntu 18.04 server. I also started facing the same issue.
This has worked fine till last week.
What should be the resolution for this?

In Kolla I proposed this workaround for now:

pip install "boto3<1.16" "botocore<1.19"
pip install elasticsearch-curator

@hrw Where did you propose this? Any issue/PR? I only found this fix.

Just for the Kolla people, I've added RUN pip3 install "boto3<1.16" "botocore<1.19" to the Dockerfile.j2 after the line
{{ macros.install_packages(elasticsearch_curator_packages | customizable("packages")) }} and with this the docker image can be built.

@jvleminc Look at https://review.opendev.org/#/c/755339/14/docker/elasticsearch/elasticsearch-curator/Dockerfile.j2 (where my fix was merged into other change).

And Kolla does not use Github for development - it is read only mirror provided by OpenDev mirroring scripts. Comments left there are not checked by anyone.

@hrw Thanks, I will apply your fix, it's more elegant.

To make it work in _rocky_, I had to add the pip_version="pip3" flag:

{# FIXME: Revert the boto installations once we figure this issue out #}
RUN {{ macros.install_pip(['"boto3<1.16"', '"botocore<1.19"'], constraints=false, pip_version="pip3") }} \
    && {{ macros.install_pip(elasticsearch_curator_pip_packages | customizable("pip_packages"), constraints=false, pip_version="pip3") }} \
    && mkdir -p /etc/elasticsearch-curator \
    && chown -R elasticsearch: /etc/elasticsearch-curator

In Kolla I proposed this workaround for now:

pip install "boto3<1.16" "botocore<1.19"
pip install elasticsearch-curator

pip install "boto3<1.16" would probably be enough

Running "pip3 install git+https://github.com/elastic/curator.git@99bb6d46823ac33fed399f5b0786e33dee2e9058" works for me. Can we get a release with the fix?

apt-get install -y python3-wheel

Did not solve it for me on Ubuntu 20.04.1..

Was this page helpful?
0 / 5 - 0 ratings