Okay, that's a bit of an exaggeration, but as of this morning, just after
the release of avro-python3 1.9.2 my CI system is throwing this error when
setting up for test runs:

```
Collecting avro-python3
  Downloading avro-python3-1.9.2.tar.gz (37 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize;
sys.argv[0] = '"'"'/tmp/pip-install-h2rxmj1d/avro-python3/setup.py'"'"';
__file__='"'"'/tmp/pip-install-h2rxmj1d/avro-python3/setup.py'"'"';f=getattr(tokenize,
'"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"',
'"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))'
egg_info --egg-base /tmp/pip-install-h2rxmj1d/avro-python3/pip-egg-info
         cwd: /tmp/pip-install-h2rxmj1d/avro-python3/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-h2rxmj1d/avro-python3/setup.py", line 41, in
<module>
        import pycodestyle
    ModuleNotFoundError: No module named 'pycodestyle'
    ----------------------------------------
```

This is the result of this change:
https://github.com/apache/avro/pull/569/files#diff-ea7d91858a474ca2df9b07fb98a2f698R38

which imports `pycodestyle` (a non-standardlib python module) during the
execution of setup.py.  The result of this is that avro cannot be pip
installed **unless** the environment into which it is being installed
already has pycodestyle present.

For dev purposes, having pycodestyle present is fine.  No problem, but a
production environment should not require it, and this change forces me to
install pycodestyle into my production environment in order to be able to
install avro.

for the time being, I can pin to 1.9.1 and avoid this issue entirely, but
it would be terrific to get this fixed if at all possible. I can't upgrade
to 1.9.2 or beyond as long as it remains this way.

Thanks very much for any discussion about this that might happen

Yours in gratitude,

Cris

Reply via email to