Problem with google package dependency on enum34

Hi,

I’ve been having trouble with tox -e pylint because it errors on package enum34 which is deliberately forced to version 1000000000.0.0 by package_constraints.txt, presumably because the HA developers don’t want people to use it.

Unfortunately it looks as though package google-cloud-pubsub version 0.39.1 (which is referenced by requirements_all.txt) does appear to use it and that causes my tox tests to fail.

Does anyone have any suggestion as to what to do in this situation please?

Regards,

Phil

Wired, it shouldn’t be an issue as there is a check 'enum34; python_version < "3.4"', in `google-cloud-pubsub.

Hi,

Thanks. Yes. That check seems to work for Python 3.7 but not for Python 3.5.3.

I did some experimenting and the issue seems to be with version 1.20.1 of the grpcio package on Python 3.5.3 only. If I pin grpcio to 1.19.0 then enum34 does not get pulled down and the tox pylint check will proceed. (I still haven’t had a good pylint check yet though because my Raspberry Pi runs out of memory. Still thinking about that one.)

I’m not sure what’s happening. Perhaps version 1.20.1 of the grpcio package was built with an out of date version of setuptools??

Regards,

Phil

Hi,

Further info. I’ve just tried 1.20.1 of grpcio on an i386 Raspberry Pi Desktop installation on VirtualBox which also has Python 3.5.3 (in an attempt to get around the memory problem with pylint). It doesn’t download enum34 so it seems to me that this issue is specific to the armv7 build of grpcio 1.20.1.

It’s possible that this is something that I’ve done to my Raspberry Pi but I’m reluctant to rebuild it from scratch at this point without being sure. It would be interesting to hear whether anyone else can reproduce my problem on a physical Raspberry Pi 3 B+. The script I’m running is:

#! /bin/bash
VENVDIR=/tmp/testvenv
LOGFILE=/tmp/pip3.log
/bin/rm -rf "$VENVDIR" "$LOGFILE"
python3 -m venv "$VENVDIR"
source "$VENVDIR"/bin/activate
python --version
pip3 install --upgrade pip setuptools
pip3 --no-cache --log "$LOGFILE" install grpcio
pip list

and the output of pip list is:

Package       Version
------------- -------
enum34        1.1.6  
futures       3.1.1  
grpcio        1.20.1 
pip           19.1   
pkg-resources 0.0.0  
setuptools    41.0.1 
six           1.12.0 

If I run the same script anywhere else then I get the expected output of:

Package       Version
------------- -------
grpcio        1.20.1 
pip           19.1   
pkg-resources 0.0.0  
setuptools    41.0.1 
six           1.12.0 

Regards,

Phil

Hi,

An update. I raised this as an issue in the grpc GitHub project and it has been acknowledged as a potential issue and is being looked into.

Regards,

Phil