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

Release 2019.07.08 #1909

Merged
merged 57 commits into from
Jul 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
35c6334
Replaced one of the python2 builds with python3 arm64-v8a
inclement Jun 6, 2019
cbb4f12
[tests] Add unittest for module `pythonforandroid.archs`
opacam Jun 4, 2019
352e4c7
Merge pull request #1842 from opacam/unittest-archs
AndreMiras Jun 7, 2019
fc17a5c
Merge pull request #1840 from inclement/feature-update_test_builds
inclement Jun 7, 2019
3bf88f7
bugfix: unpack for nonzip archives also needs to compare basename(dir)
sfoerster Jun 8, 2019
ad877a2
[tests] Add unittest for module `pythonforandroid.distribution`
opacam Jun 7, 2019
ab26672
Merge pull request #1848 from kivy/release-2019.06.06
inclement Jun 8, 2019
d534e3e
Updated develop version to 2019.06.06.1.dev0
inclement Jun 8, 2019
1b11691
Improved release model documentation
inclement Jun 8, 2019
5d51646
Very minor README changes
inclement Jun 8, 2019
34a2f02
Set long_description_content_type in setup.py
inclement Jun 8, 2019
e409aeb
Merge pull request #1851 from kivy/merge_2019.06.06.post0_hotfix
inclement Jun 8, 2019
f9e81e0
Merge pull request #1849 from inclement/improve_release_process_doc
inclement Jun 8, 2019
8ccd0a4
Merge pull request #1845 from sfoerster/unpack_mv_nonzip_bugfix
inclement Jun 8, 2019
7be6ff0
pythonpackage can't return build requirements for wheels.
Jun 8, 2019
efc6d9b
Merge pull request #1847 from opacam/unittest-distribution
AndreMiras Jun 9, 2019
6297c52
Fix for locating system python when it's not in $PATH for some reason
Jun 10, 2019
26dfac2
Merge pull request #1852 from JonasT/fix_pythonpackage_wheel_buildreqs
AndreMiras Jun 10, 2019
1e72955
[bug] Add `--without-bzip2` to freetype's configure args
opacam Jun 10, 2019
20d9258
Merge pull request #1857 from opacam/hotfix-freetype-bzip2
inclement Jun 10, 2019
4e67d23
Merge pull request #1856 from JonasT/improve_syspython_find
AndreMiras Jun 10, 2019
38cfb89
[tests] Add unittest for module `pythonforandroid.util`
opacam Jun 8, 2019
a24f1e3
[util] Remove unused functions from `pythonforandroid.util`
opacam Jun 9, 2019
e230b27
[travis] Make tox use Python 3.7 for the travis's lint stage
opacam Jun 9, 2019
6f65aaf
[tests] Enhance some tests for `test_distribution`
opacam Jun 10, 2019
44741ae
[docs] Add documentation for `tests.test_util` and other reviewers su…
opacam Jun 11, 2019
c2b4c80
[docs] Add documentation for module `tests.test_distribution`
opacam Jun 11, 2019
d2ff49d
[docs] Add documentation for module `tests.test_archs`
opacam Jun 11, 2019
6ae074e
Fix various setup.py processing errors
Jun 11, 2019
32a4e45
[travis] Install tox/coveralls dependencies only in travis's `lint` s…
opacam Jun 12, 2019
e2e1227
Be more clear in README, fix API levels and revamp quickstart
Jun 12, 2019
f861429
Merge pull request #1863 from JonasT/clearer_readme
AndreMiras Jun 13, 2019
e599383
Merge pull request #1855 from opacam/unittest-util
AndreMiras Jun 13, 2019
2d45358
[travis] Move from `master` to `develop`
opacam Jun 13, 2019
dea96f2
[travis] Make tox jobs work in parallel
opacam Jun 13, 2019
80e4f05
Merge pull request #1864 from opacam/feature-travis-enhancements
AndreMiras Jun 13, 2019
85207a0
Merge pull request #1862 from JonasT/fix_leftover_constraint_file
AndreMiras Jun 15, 2019
fccd108
[bug] Fix wrong env variable for `hostpython build path` in `archs.py`
opacam Jun 17, 2019
77d4fe6
[libs] Remove legacy version of openssl
opacam Feb 19, 2019
0c9ef2e
Merge pull request #1870 from opacam/feature-remove-openssl-legacy
AndreMiras Jun 17, 2019
6f99407
Merge pull request #1871 from opacam/hotfix-env-var
inclement Jun 18, 2019
5795852
fix ctypes-util-find-library issue for python2
surbhicis Jun 21, 2019
e494c25
Merge pull request #1877 from surbhicis/py2-ctypes-fixes
AndreMiras Jun 21, 2019
3ce5278
Typo
JensGe Jun 22, 2019
9530953
[tests] Add unittest for module `pythonforandroid.bootstrap`
opacam Jun 5, 2019
1bf002d
Merge pull request #1880 from JensGe/develop
AndreMiras Jun 22, 2019
c8e8cf9
Merge pull request #1872 from opacam/unittest-bootstrap
AndreMiras Jun 22, 2019
1a43242
[bug] Fix `run_pymodules_install` when `project_dir` isn't supplied
opacam Jun 28, 2019
e6a6271
Merge pull request #1898 from opacam/hotfix-pymodules-install
AndreMiras Jun 28, 2019
e4515df
Updated numpy recipe to version 1.16.4
inclement Jun 26, 2019
456b6a8
Updated numpy version targeted by matplotlib recipe
inclement Jun 28, 2019
8b3e218
Simple run_pymodules_install test, refs #1898
AndreMiras Jun 28, 2019
d63adf2
Added matplotlib to broken recipes list
inclement Jun 29, 2019
4b4e899
Merge pull request #1899 from AndreMiras/feature/ticket1898_run_pymod…
inclement Jun 29, 2019
06b5958
Merge pull request #1892 from inclement/update_numpy_1_16_4
inclement Jun 29, 2019
56fc531
Updated release number to 2019.07.08
inclement Jul 8, 2019
745dc67
Merge branch 'master' into release-2019.07.08
inclement Jul 14, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 32 additions & 17 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,8 @@ services:
- docker

before_install:
- travis_retry sudo apt update -qq
# to successfully send the coveralls reports we need pyOpenSSL
- travis_retry sudo apt install -qq --no-install-recommends
python2.7 python3 python3-venv python3-virtualenv python3-pip
python3-setuptools python3-openssl
# (venv/virtualenv are both used by tests/test_pythonpackage.py)
- sudo pip install tox>=2.0
- sudo pip3 install coveralls
# https://github.com/travis-ci/travis-ci/issues/6069#issuecomment-266546552
- git remote set-branches --add origin master
- git remote set-branches --add origin develop
- git fetch

env:
Expand All @@ -31,13 +23,36 @@ env:

jobs:
include:
- stage: lint
name: "Tox tests and coverage"
- &linting
stage: lint
language: python
python: 3.7
before_script:
# We need to escape virtualenv for `test_pythonpackage_basic.test_virtualenv`
# See also: https://github.com/travis-ci/travis-ci/issues/8589
- type -t deactivate && deactivate || true
- export PATH=/opt/python/3.7/bin:$PATH
# Install tox & virtualenv
# Note: venv/virtualenv are both used by tests/test_pythonpackage.py
- pip3.7 install -U virtualenv
- pip3.7 install tox>=2.0
# Install coveralls & dependencies
# Note: pyOpenSSL needed to send the coveralls reports
- pip3.7 install pyOpenSSL
- pip3.7 install coveralls
script:
# we want to fail fast on tox errors without having to `docker build` first
- tox -- tests/ --ignore tests/test_pythonpackage.py
# (we ignore test_pythonpackage.py since these run way too long!!
# test_pythonpackage_basic.py will still be run.)
name: "Tox Pep8"
env: TOXENV=pep8
- <<: *linting
name: "Tox Python 2"
env: TOXENV=py27
- <<: *linting
name: "Tox Python 3 & Coverage"
env: TOXENV=py3
after_success:
- coveralls

Expand All @@ -54,16 +69,16 @@ jobs:
after_script:
# kill the background process started before run docker
- kill %1
name: Python 3 basic
name: Python 3 armeabi-v7a
# overrides requirements to skip `peewee` pure python module, see:
# https://github.com/kivy/python-for-android/issues/1263#issuecomment-390421054
env: COMMAND='. venv/bin/activate && cd testapps/ && python setup_testapp_python3_sqlite_openssl.py apk --sdk-dir $ANDROID_SDK_HOME --ndk-dir $ANDROID_NDK_HOME --requirements libffi,sdl2,pyjnius,kivy,python3,openssl,requests,sqlite3,setuptools'
env: COMMAND='. venv/bin/activate && cd testapps/ && python setup_testapp_python3_sqlite_openssl.py apk --sdk-dir $ANDROID_SDK_HOME --ndk-dir $ANDROID_NDK_HOME --requirements libffi,sdl2,pyjnius,kivy,python3,openssl,requests,sqlite3,setuptools' --arch=armeabi-v7a
- <<: *testing
name: Python 2 basic
env: COMMAND='. venv/bin/activate && cd testapps/ && python setup_testapp_python2_sqlite_openssl.py apk --sdk-dir $ANDROID_SDK_HOME --ndk-dir $ANDROID_NDK_HOME --requirements sdl2,pyjnius,kivy,python2,openssl,requests,sqlite3,setuptools'
name: Python 3 arm64-v8a
env: COMMAND='. venv/bin/activate && cd testapps/ && python setup_testapp_python3_sqlite_openssl.py apk --sdk-dir $ANDROID_SDK_HOME --ndk-dir $ANDROID_NDK_HOME --requirements libffi,sdl2,pyjnius,kivy,python3,openssl,requests,sqlite3,setuptools' --arch=arm64-v8a
- <<: *testing
name: Python 2 numpy
env: COMMAND='. venv/bin/activate && cd testapps/ && python setup_testapp_python2.py apk --sdk-dir $ANDROID_SDK_HOME --ndk-dir $ANDROID_NDK_HOME --bootstrap sdl2 --requirements python2,numpy'
name: Python 2 basic
env: COMMAND='. venv/bin/activate && cd testapps/ && python setup_testapp_python2_sqlite_openssl.py apk --sdk-dir $ANDROID_SDK_HOME --ndk-dir $ANDROID_NDK_HOME --requirements sdl2,pyjnius,kivy,python2,openssl,requests,sqlite3,setuptools,numpy'
- <<: *testing
name: Rebuild updated recipes
env: COMMAND='. venv/bin/activate && ./ci/rebuild_updated_recipes.py'
28 changes: 13 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ python-for-android
[![Backers on Open Collective](https://opencollective.com/kivy/backers/badge.svg)](#backers)
[![Sponsors on Open Collective](https://opencollective.com/kivy/sponsors/badge.svg)](#sponsors)

python-for-android is a packager for Python apps on Android. You can
python-for-android is a packaging tool for Python apps on Android. You can
create your own Python distribution including the modules and
dependencies you want, and bundle it in an APK along with your own code.

Expand All @@ -33,29 +33,27 @@ Follow the [quickstart
instructions](<https://python-for-android.readthedocs.org/en/latest/quickstart/>)
to install and begin creating APKs.

Quick instructions to start would be:
**Quick instructions**: install python-for-android with:

pip install python-for-android

or to test the master branch:
(for the develop branch: `pip install git+https://github.com/kivy/python-for-android.git`)

pip install git+https://github.com/kivy/python-for-android.git
Test that the install works with:

The executable is called ``python-for-android`` or ``p4a`` (both are
equivalent). To test that the installation worked, try::
p4a --version

python-for-android recipes
To build any actual apps, **set up the Android SDK and NDK**
as described in the [quickstart](
<https://python-for-android.readthedocs.org/en/latest/quickstart/#installing-android-sdk>).
**Use the SDK/NDK API level & NDK version as in the quickstart,**
other API levels may not work.

This should return a list of recipes available to be built.
With everything installed, build an APK with SDL2 with e.g.:

To build any distributions, you need to set up the Android SDK and NDK
as described in the documentation linked above.
p4a apk --requirements=kivy --private /home/username/devel/planewave_frozen/ --package=net.inclem.planewavessdl2 --name="planewavessdl2" --version=0.5 --bootstrap=sdl2

If you did this, to build an APK with SDL2 you can try e.g.:

p4a apk --requirements=kivy --private /home/asandy/devel/planewave_frozen/ --package=net.inclem.planewavessdl2 --name="planewavessdl2" --version=0.5 --bootstrap=sdl2

For full instructions and parameter options, see [the
**For full instructions and parameter options,** see [the
documentation](https://python-for-android.readthedocs.io/en/latest/quickstart/#usage).

## Support
Expand Down
2 changes: 2 additions & 0 deletions ci/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ class TargetPython(Enum):
'websocket-client',
'zeroconf',
'zope',
'matplotlib', # https://github.com/kivy/python-for-android/issues/1900
])
BROKEN_RECIPES_PYTHON3 = set([
'brokenrecipe',
Expand All @@ -77,6 +78,7 @@ class TargetPython(Enum):
# mpmath package with a version >= 0.19 required
'sympy',
'vlc',
'matplotlib', # https://github.com/kivy/python-for-android/issues/1900
])

BROKEN_RECIPES = {
Expand Down
18 changes: 11 additions & 7 deletions doc/source/contribute.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ and we'll deal with the rest.
Development model
-----------------

python-for-android is developed using the following model::
python-for-android is developed using the following model:

- The ``master`` branch always represents the latest stable release.
- The ``develop`` branch is the most up to date with new contributions.
Expand Down Expand Up @@ -44,20 +44,24 @@ Creating a new release

New releases follow these steps:

- Create a new branch ``release/YYYY.MM.DD`` based on the ``develop`` branch.
- ``git checkout -b release/YYYY.MM.DD develop``
- Create a Github pull request to merge ``release/YYYY.MM.DD`` into ``master``.
- Create a new branch ``release-YYYY.MM.DD`` based on the ``develop`` branch.
- ``git checkout -b release-YYYY.MM.DD develop``
- Create a Github pull request to merge ``release-YYYY.MM.DD`` into ``master``.
- Complete all steps in the `release checklist <release_checklist_>`_,
and document this in the pull request (copy the checklist into the PR text)

At this point, wait for reviewer approval and conclude any discussion that arises. To complete the release:

- Merge the release branch to the ``master`` branch.
- Also merge the release branch to the ``develop`` branch.
- Tag the release commit in ``master``. Include a short summary of the changes.
- Create the release distributions: ``python3 setup.py sdist``
- Tag the release commit in ``master``, with tag ``vYYYY.MM.DD``. Include a short summary of the changes.
- Create the release distributions: ``python3 setup.py sdist bdist_wheel``
- Upload the release to pypi: ``python3 -m twine upload``.
- Upload the release ``.tar.gz`` to the Github tag.
- Add to the Github release page (see e.g. `this example <https://github.com/kivy/python-for-android/releases/tag/v2019.06.06>`__):
- The python-for-android README summary
- A short list of major changes in this release, if any
- A changelog summarising merge commits since the last release
- The release sdist and wheel(s)

.. _release_checklist:

Expand Down
97 changes: 53 additions & 44 deletions doc/source/quickstart.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,37 @@ for android as p4a in this documentation.
Concepts
--------

- requirements: For p4a, your applications dependencies are
requirements similar to the standard `requirements.txt`, but with
one difference: p4a will search for a recipe first instead of
installing requirements with pip.
*Basic:*

- recipe: A recipe is a file that defines how to compile a
requirement. Any libraries that have a Python extension *must* have
a recipe in p4a, or compilation will fail. If there is no recipe for
a requirement, it will be downloaded using pip.
- **requirements:** For p4a, all your app's dependencies must be specified
via ``--requirements`` similar to the standard `requirements.txt`.
(Unless you specify them via a `setup.py`/`install_requires`)
All dependencies will be mapped to "recipes" if any exist, so that
many common libraries will just work. See "recipe" below for details.

- build: A build refers to a compiled recipe.
- **distribution:** A distribution is the final "build" of your
compiled project + requirements, as an Android project assembled by
p4a that can be turned directly into an APK. p4a can contain multiple
distributions with different sets of requirements.

- distribution: A distribution is the final "build" of all your
compiled requirements, as an Android project that can be turned
directly into an APK. p4a can contain multiple distributions with
different sets of requirements.
- **build:** A build refers to a compiled recipe or distribution.

- bootstrap: A bootstrap is the app backend that will start your
application. Your application could use SDL2 as a base,
or a web backend like Flask with a WebView bootstrap. Different
bootstraps can have different build options.
- **bootstrap:** A bootstrap is the app backend that will start your
application. The default for graphical applications is SDL2.
You can also use e.g. the webview for web apps, or service_only for
background services. Different bootstraps have different additional
build options.

*Advanced:*

- **recipe:**
A recipe is a file telling p4a how to install a requirement
that isn't by default fully Android compatible.
This is often necessary for Cython or C/C++-using python extensions.
p4a has recipes for many common libraries already included, and any
dependency you specified will be automatically mapped to its recipe.
If a dependency doesn't work and has no recipe included in p4a,
then it may need one to work.


Installation
Expand Down Expand Up @@ -75,14 +85,20 @@ install most of these with::
On Arch Linux (64 bit) you should be able to run the following to
install most of the dependencies (note: this list may not be
complete). gcc-multilib will conflict with (and replace) gcc if not
already installed. If your installation is already 32-bit, install the
same packages but without ``lib32-`` or ``-multilib``::
already installed::

sudo pacman -S jdk7-openjdk python2 python2-pip python2-kivy mesa-libgl lib32-mesa-libgl lib32-sdl2 lib32-sdl2_image lib32-sdl2_mixer sdl2_ttf unzip gcc-multilib gcc-libs-multilib

Installing Android SDK
~~~~~~~~~~~~~~~~~~~~~~

.. warning::
python-for-android is often picky about the **SDK/NDK versions.**
Pick the recommended ones from below to avoid problems.

Basic SDK install
`````````````````

You need to download and unpack the Android SDK and NDK to a directory (let's say $HOME/Documents/):

- `Android SDK <https://developer.android.com/studio/index.html>`_
Expand All @@ -94,31 +110,22 @@ named ``tools``, and you will need to run extra commands to install
the SDK packages needed.

For Android NDK, note that modern releases will only work on a 64-bit
operating system. The minimal, and recommended, NDK version to use is r17c:
operating system. **The minimal, and recommended, NDK version to use is r17c:**

- `Go to ndk downloads page <https://developer.android.com/ndk/downloads/>`_
- Windows users should create a virtual machine with an GNU Linux os
installed, and then you can follow the described instructions from within
your virtual machine.

If you are using a 32-bit distribution (or hardware),
the latest usable NDK version is r10e, which can be downloaded here:

- `Legacy 32-bit Linux NDK r10e <http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86.bin>`_
Platform and build tools
````````````````````````

.. warning::
**32-bit distributions**

Since the python2 recipe updated to version 2.7.15, the build system has
been changed and you should use an old release of python-for-android, which
contains the legacy python recipe (v2.7.2). The last python-for-android
release with the legacy version of python is version
`0.6.0 <https://github.com/kivy/python-for-android/archive/0.6.0.zip>`_.

First, install an API platform to target. You can replace ``27`` with
a different platform number, but keep in mind **other API versions
are less well-tested**, and older devices are still supported
(down to the specified *minimum* API/NDK API level):
First, install an API platform to target. **The recommended *target* API
level is 27**, you can replace it with a different number but
keep in mind other API versions are less well-tested and older devices
are still supported down to the **recommended specified *minimum*
API/NDK API level 21**:

$SDK_DIR/tools/bin/sdkmanager "platforms;android-27"

Expand All @@ -128,13 +135,17 @@ possibilities, but 26.0.2 is the latest version at the time of writing::

$SDK_DIR/tools/bin/sdkmanager "build-tools;26.0.2"

Then, you can edit your ``~/.bashrc`` or other favorite shell to include new environment variables necessary for building on android::
Configure p4a to use your SDK/NDK
`````````````````````````````````

Then, you can edit your ``~/.bashrc`` or other favorite shell to include new environment
variables necessary for building on android::

# Adjust the paths!
export ANDROIDSDK="$HOME/Documents/android-sdk-27"
export ANDROIDNDK="$HOME/Documents/android-ndk-r17c"
export ANDROIDAPI="26" # Target API version of your application
export NDKAPI="19" # Minimum supported API version of your application
export ANDROIDAPI="27" # Target API version of your application
export NDKAPI="21" # Minimum supported API version of your application
export ANDROIDNDKVER="r10e" # Version of the NDK you installed

You have the possibility to configure on any command the PATH to the SDK, NDK and Android API using:
Expand All @@ -158,9 +169,9 @@ and the requirements::

p4a apk --private $HOME/code/myapp --package=org.example.myapp --name "My application" --version 0.1 --bootstrap=sdl2 --requirements=python3,kivy

**Note on `--requirements`: you must add all
**Note on** ``--requirements``: **you must add all
libraries/dependencies your app needs to run.**
Example: `--requirements=python3,kivy,vispy`. For an SDL2 app,
Example: ``--requirements=python3,kivy,vispy``. For an SDL2 app,
`kivy` is not needed, but you need to add any wrappers you might
use (e.g. `pysdl2`).

Expand All @@ -175,8 +186,6 @@ an `.apk` file.
it will possibly no longer receive patches by the python creators
themselves in 2020. Migration to Python 3 is recommended!

- You can also use ``--bootstrap=pygame``, but this bootstrap
is deprecated and not well-tested.

Build a WebView application
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand All @@ -188,7 +197,7 @@ well as the requirements::
p4a apk --private $HOME/code/myapp --package=org.example.myapp --name "My WebView Application" --version 0.1 --bootstrap=webview --requirements=flask --port=5000

**Please note as with kivy/SDL2, you need to specify all your
additional requirements/depenencies.**
additional requirements/dependencies.**

You can also replace flask with another web framework.

Expand Down
8 changes: 3 additions & 5 deletions doc/source/troubleshooting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -101,17 +101,15 @@ This will reveal all the Python-related files::
$ ls
android_runnable.pyo include interpreter_subprocess main.kv pipinterface.kv settings.pyo
assets __init__.pyo interpreterwrapper.pyo main.pyo pipinterface.pyo utils.pyo
editor.kv interpreter.kv lib menu.kv private.mp3 widgets.pyo
editor.kv interpreter.kv _python_bundle menu.kv private.mp3 widgets.pyo
editor.pyo interpreter.pyo libpymodules.so menu.pyo settings.kv

Most of these files have been included by the user (in this case, they
come from one of my own apps), the rest relate to the python
distribution.

With Python 2, the Python installation can mostly be found in the
``lib`` folder. With Python 3 (using the ``python3crystax`` recipe),
the Python installation can be found in a folder named
``crystax_python``.
The python installation, along with all side-packages, is mostly contained
inside the `_python_bundle` folder.


Common errors
Expand Down
3 changes: 1 addition & 2 deletions pythonforandroid/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@

__version__ = '2019.06.06.post0'
__version__ = '2019.07.08'
8 changes: 6 additions & 2 deletions pythonforandroid/archs.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,12 @@ def get_env(self, with_flags_in_cc=True, clang=False):
'host' + self.ctx.python_recipe.name, self.ctx)
env['BUILDLIB_PATH'] = join(
hostpython_recipe.get_build_dir(self.arch),
'build', 'lib.{}-{}'.format(
build_platform, self.ctx.python_recipe.major_minor_version_string)
'native-build',
'build',
'lib.{}-{}'.format(
build_platform,
self.ctx.python_recipe.major_minor_version_string,
),
)

env['PATH'] = environ['PATH']
Expand Down
Loading