← All tasks
pythonkubernetes-client/python #1502Not a task: not reproduced

Python2 support dropped but installation works

envgap__kubernetes-client__python-1502

01 / FAILURE SIGNATURE

As reported upstream

RuntimeError: kubernetes-client 18.0.0-snapshot requires Python 3.6+
Not a benchmark task.
  • In a clean container the reported failure did not reproduce, or the known fix did not make the project run.

02 / ENVIRONMENT RECIPE

Base commit
837a6ecb03385eb8724981bf197e08f9907e5a86
Manifest
setup.py
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

kubernetes-client/python #1502 · read the original issue
**What happened (please include outputs or screenshots)**:

I have accidentally installed the git-Master-Branch with Python2 with these commands:

```

git clone --recursive https://github.com/kubernetes-client/python.git

cd python

python setup.py install

```

Everything works fine, but Python2 support is dropped (https://github.com/kubernetes-client/python/pull/1468)



**What you expected to happen**:

I expect an error Message like:

```

  File "setup.py", line 30, in <module>

    raise RuntimeError("kubernetes-client " + CLIENT_VERSION + " requires Python 3.6+")

RuntimeError: kubernetes-client 18.0.0-snapshot requires Python 3.6+

```





**How to reproduce it (as minimally and precisely as possible)**:

See in "What happened". 

You may have to use `python2 setup.py install` if `python --v` is not 2



**Anything else we need to know?**:

A possible fix in setup.py would be

```

import sys



from setuptools import setup



# Do not edit these constants. They will be updated automatically

# by scripts/update-client.sh.

CLIENT_VERSION = "18.0.0-snapshot"

PACKAGE_NAME = "kubernetes"

DEVELOPMENT_STATUS = "3 - Alpha"



# To install the library, run the following

#

# python setup.py install

#

# prerequisite: setuptools

# http://pypi.python.org/pypi/setuptools



if sys.version_info < (3, 6):

    raise RuntimeError("kubernetesclient " + CLIENT_VERSION + " requires Python 3.6+")

```

There is also some Python2 compatibility code in the python/ and python-base repo

For example:

- https://github.com/kubernetes-client/python/blob/master/kubernetes/client/apis/__init__.py#L1

- https://github.com/kubernetes-client/python-base/blob/0d4f822f4f654361764a6f8dcf7ca9bf5bbce3f9/leaderelection/leaderelection.py#L23

- https://github.com/kubernetes-client/python-base/blob/master/watch/watch.py#L32

- https://github.com/kubernetes-client/python-base/blob/b4d3aad42dc23e7a6c0e5c032691f8dc385a786c/dynamic/client.py#L60

Should that also be removed?



**Environment**:

- Kubernetes version (`kubectl version`):

v1.19.0

- OS (e.g., MacOS 10.13.6):

Fedora 29 (Workstation Edition)

- Python version (`python --version`)

Python 2.7.17

- Python client version (`pip list | grep kubernetes`)

18.0.0-snapshot

Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]