Skip to content

Add support for PyPy and setup continuous integration#418

Merged
jcfr merged 4 commits into
scikit-build:masterfrom
mattip:pypy-ci
Jun 5, 2019
Merged

Add support for PyPy and setup continuous integration#418
jcfr merged 4 commits into
scikit-build:masterfrom
mattip:pypy-ci

Conversation

@mattip

@mattip mattip commented May 23, 2019

Copy link
Copy Markdown
Contributor

Let's see if this works.

Since PyPy is still in a catch-up mode where it releases every 3-6 months, I preferred to wget the latest release.

Follow on from #407, will fail until that is merged

@mattip

mattip commented May 23, 2019

Copy link
Copy Markdown
Contributor Author

It seems there is a problem installing cmake in the pre-install step, since it depends on skbuild (recursive dependency?):

[scikit-ci] Executing: pip install cmake
Collecting cmake
  Downloading https://files.pythonhosted.org/packages/72/7b/8d3d83f884283ddfc86ca407d10152d66b84dff5baf5ed4537c127f988cb/cmake-3.13.3.tar.gz
    ERROR: Complete output from command python setup.py egg_info:
    ERROR: Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-zcccb0ai/cmake/setup.py", line 7, in <module>
        from skbuild import setup
    ModuleNotFoundError: No module named 'skbuild'
    ----------------------------------------
ERROR: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-zcccb0ai/cmake/

@jcfr

jcfr commented May 23, 2019

Copy link
Copy Markdown
Contributor

problem installing cmake

Indeed, cmake wheel are currently specific to the python abi. I think this will be addressed implementing the approach documented in #420 .

Do you think that wheel with tag like py2.py3-none-manylinux2010_x86-64 will be installable on pypy ?

@mattip

mattip commented May 23, 2019

Copy link
Copy Markdown
Contributor Author

Do you think that wheel with tag like py2.py3-none-manylinux2010_x86-64 will be installable on pypy

Yes, once I updated pip to version 19, this command pypy3.6-v7.1.1/bin/pypy3 -mpip install imageio-ffmpeg downloaded and installed imageio_ffmpeg-0.3.0-py3-none-manylinux2010_x86_64.whl

@mattip

mattip commented May 27, 2019

Copy link
Copy Markdown
Contributor Author

Rebased off master to get the new cmake package.

The build failed. While watching it, it seemed to cycle infinitely through some pep-8 flake thing, checking all the site packages. Eventually I think it timed out.

When I try to reproduce the steps localy, I cannot runpython -mci install. When I "lie" to it, by running APPVEYOR=True python -m ci install, the process escapes the virtual environment and pip install cmake tries to install it to my OS python2.

@jcfr jcfr added Category: Tests Testing and related things Project: pypy PyPy specific labels May 28, 2019
@jcfr jcfr changed the title WIP, TEST: add pypy3 to azure CI Add support for PyPy and setup continuous integration Jun 5, 2019
@jcfr

jcfr commented Jun 5, 2019

Copy link
Copy Markdown
Contributor

it seemed to cycle infinitely through some pep-8 flake thing

The issue was that folders for pypy and associated environment were created in the scikit-build source directory and flake8 was trying to lint all the associated files. This is now fixed by creating directories in the parent folder.

When I "lie" to it, by running APPVEYOR=True python -m ci install

To "simulate" Azure Pipelines locally, the variables TF_BUILD=true and 'AGENT_OS=Linux' could be set.

@jcfr

jcfr commented Jun 5, 2019

Copy link
Copy Markdown
Contributor

It turns out that get_python_include_dir does not need to be modified. Indeed the header Python.h is also available within PyPy installation.

Regarding get_python_library, I fixed and simplified the list adding pypy3-c.

@mattip

mattip commented Jun 5, 2019

Copy link
Copy Markdown
Contributor Author

cool, tests pass

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Category: Tests Testing and related things Project: pypy PyPy specific

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants