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

Update dependencies for Python 3 #9630



Copy link

@LeonarddeR LeonarddeR commented May 28, 2019

Link to issue number:

This pr depends on the following child pull requests.

Summary of the issue:

NVDA includes git submodules from several sources. In the current situation, the py2exe packages is bundled inside the nvda-misc-deps repository. It was discussed with @feerrenrut an decided that we wanted to store all our binary dependencies in separate repositories.

A short discussion about virtual environments

When preparing this work, we also discussed the use of virtual environments for the build process. Thereby, I especially zoomed in on the pipenv project. Pipenv would allow us to give a very simple overview of external dependencies needed for the project, fetch them on demand from PyPI, etc. However, it was decided not to build on pipenv for this:

  1. It would significantly increase the build time on appveyor
  2. It would make the build procedure more complex. People would have to run pip install pipenv and ppienv --python 3 -d install before they could get started.
  3. Most importantly, using pipenv would introduce an additional package management workflow. While pipenv would allow us to drop some git submodules, we would still have to keep submodules for espeak, sonic, liblouis, etc. Pipenv offers no capability to deal with non-python packages. An update of dependencies would also require a user to take extra precautionary measures to make sure that their dependencies are up to date.

having said that, we encourage users to embrace the concept of virtual environments. The python documentation of venv is helpful to get to know more about this.

Description of how this pull request fixes the issue:

This pr also logs the version of six to the NVDA log when logging information about the current version of wx python.

Testing performed:

Tested using @josephsl's py3000 branch, cherrypicking the commit from this pr. Also made sure that py2exe imported correctly from the python console. NO attempts have yet been made to build NVDA with py2exe from this repository, see #9605

Known issues with pull request:

  • This is a draft pr until all the mentioned child pull requests are merged.
  • This pull request does not deal with alternatives for EpiDoc, txt2tags and the Python 2 version of brlapi for BRLTTY

Change log entry:

  • Changes for developers
    • Updated the Six package to version 1.12.0.

Copy link
Collaborator Author

Note that this expected to fail at this stage.

@feerrenrut feerrenrut added this to In progress in Update NVDA to Python 3 via automation May 28, 2019
@feerrenrut feerrenrut added the z Python 3 transition (archived) Python 3 transition label May 28, 2019
Copy link
Collaborator Author

Blocked by #9639

@LeonarddeR LeonarddeR marked this pull request as ready for review June 8, 2019 09:01
@LeonarddeR LeonarddeR changed the base branch from threshold to threshold_py3_staging June 8, 2019 09:02
Update NVDA to Python 3 automation moved this from In progress to Reviewer approved Jun 9, 2019
@michaelDCurran michaelDCurran merged commit 6506bc7 into nvaccess:threshold_py3_staging Jun 9, 2019
Update NVDA to Python 3 automation moved this from Reviewer approved to Done Jun 9, 2019
@nvaccessAuto nvaccessAuto added this to the 2019.3 milestone Jun 9, 2019
@LeonarddeR LeonarddeR deleted the dependencies branch June 20, 2019 07:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
No open projects

Successfully merging this pull request may close these issues.

None yet

4 participants