Skip to content

Update dependencies for Python 3#9630

Merged
michaelDCurran merged 5 commits into
nvaccess:threshold_py3_stagingfrom
BabbageCom:dependencies
Jun 9, 2019
Merged

Update dependencies for Python 3#9630
michaelDCurran merged 5 commits into
nvaccess:threshold_py3_stagingfrom
BabbageCom:dependencies

Conversation

@LeonarddeR

@LeonarddeR LeonarddeR commented May 28, 2019

Copy link
Copy Markdown
Collaborator

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.

@LeonarddeR

Copy link
Copy Markdown
Collaborator Author

Note that this expected to fail at this stage.

@LeonarddeR

Copy link
Copy Markdown
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
@michaelDCurran michaelDCurran merged commit 6506bc7 into nvaccess:threshold_py3_staging 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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants