google / google/python-fire

Missing enum34 dependency requirement when installing for python2.7

Open
#191 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
28.2k
Forks
1.5k
PR merge metrics
No merged PRs in 30d

Description

Hi,

While updating python-fire in [NixOS](https://github.com/NixOS/nixpkgs), we have realized that it should depend on [enum34](https://pypi.org/project/enum34/) when installing for python version older than 3.4.

https://github.com/google/python-fire/blob/master/fire/docstrings.py#L61 has `import enum` which was introduced in python3.4. This is available to other versions of python via `enum34`, but not stated in [setup.py](https://github.com/google/python-fire/blob/master/setup.py#L32-L35).

Something like this should solve the problem:

```diff
diff --git a/setup.py b/setup.py
index 5ddbb48..86bb171 100644
--- a/setup.py
+++ b/setup.py
@@ -15,6 +15,7 @@
"""The setup.py file for Python Fire."""

from setuptools import setup
+import sys


LONG_DESCRIPTION = """
@@ -32,7 +33,7 @@ A library for automatically generating command line interfaces.""".strip()
DEPENDENCIES = [
'six',
'termcolor',
-]
+] + (['enum34'] if sys.version < (3.4) else [])

TEST_DEPENDENCIES = [
'hypothesis',
```

Hope this helps.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.