Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Python 3.6-3.7 compatible via package dependencies #1454

Merged

Conversation

gregelin
Copy link
Contributor

@gregelin gregelin commented Mar 4, 2021

  - Fix    GovReady#1206 GovReady#1424  re: Python 3.6-3.7 compatibility
  - Stay   Python 3.8-3.9 compatible
  - Update related dependency license tracking comments
@gregelin
Copy link
Contributor Author

gregelin commented Mar 4, 2021

@Dav1dV Can you explain how these changes may GovReady Python libraries compatible with Python 3.6 and 3.7 while maintaining compatibility with 3.8 and 3.9? Or does working with Python 3.6 and 3.7 break 3.8 and 3.9?

@Dav1dV
Copy link
Contributor

Dav1dV commented Mar 4, 2021

@gregelin This allows 3.6-3.7 in addition to 3.8-3.9:

The primary 3.6-3.7 blocker was the importlib-metadata==3.4 >2 v. django-bootstrap3==14.2 on Python <3.8 conflict;
however, since importlib-metadata is no longer a project dependency on Python >=3.8
(it's functionality was integrated into Python 3.8),
it can be reverted back to importlib-metadata==1.7 (latest <2) for Python 3.6-3.7 only,
resolving that 3.6-3.7 conflict.

The only other non-comment change is adding the typing-extensions==3.7.4.3 Python 3.6-3.7-only structlog dependency.

@gregelin
Copy link
Contributor Author

gregelin commented Mar 4, 2021

@Dav1dV That explanation helps. Thanks.

@gregelin
Copy link
Contributor Author

gregelin commented Mar 4, 2021

I tested this branch with Python 3.6.9 on macOS 10.14.4 running ./install-govready-q.sh and also pip install -r requirements.txt and am getting errors.

ERROR: Cannot install -r requirements.txt (line 182) and importlib-metadata==3.3.0 because these package versions have conflicting dependencies.

@gregelin
Copy link
Contributor Author

gregelin commented Mar 4, 2021

Let's put this on hold and create in the future different installs for different versions of python.

@Dav1dV
Copy link
Contributor

Dav1dV commented Mar 4, 2021

@gregelin Pls check your environment & retry
since the requirements.txt herein specifies importlib-metadata==1.7.0 not 3.3 in your error message
https://github.com/GovReady/govready-q/pull/1454/files#diff-4d7c51b1efe9043e44439a949dfd92e5827321b34082903477fd04876edb7552R356
& I successfully tested this on 3.6,7,8,9.

🤔

  • Did you try in a venv?
  • Did you try uninstalling importlib-metadata then pip3 install -r requirements.txt?

@gregelin
Copy link
Contributor Author

gregelin commented Mar 5, 2021

Hmmm....I wonder if I was on the right branch...

@gregelin
Copy link
Contributor Author

gregelin commented Mar 5, 2021

Apparently, I tested the wrong branch. The correct branch installed GovReady correctly in 3.6, 3.7, and 3.8.

I also tested to see if the adjusted packages will still work after upgrading the requirements using ./requirements_txt_updater.sh. GovReady-Q still correctly installed in python 3.6 after running upgrade.

@gregelin gregelin merged commit 8071428 into GovReady:develop Mar 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants