question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

PyPy compatibility

See original GitHub issue

We are trying to use setup-miniconda to enable PyPy CI pipelines in https://github.com/openmm/openmm/pull/3086, but we are facing some issues with the python-version option. Seems that the action adds python=x.y to the environment, and that causes some issues if python_abi=pypy.

I am going to run some tests locally, but in the meantime I am wondering if people have run into the same issue.

I will document my progress here because setting pypy is not very straightforward right now and we might need to document it.

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:18 (16 by maintainers)

github_iconTop GitHub Comments

1reaction
bollwyvlcommented, Apr 12, 2021

docs sounds simple…

`python-version` may be either:
- a simple version number like `3.9`, which will have a `=` inserted, yielding `python=3.9`
- a full [conda spec][], e.g. `=3.7[build=*_pypy]`, which will be used as-is, yielding `python=3.7[build=*_pypy]`

[conda spec]: https://docs.conda.io/projects/conda-build/en/latest/resources/package-spec.html#package-match-specifications
0reactions
bollwyvlcommented, Apr 12, 2021

re: adding an “extra” python: i thought it would try to remove the original spec, but perhaps it does not.

re: conda-lock for patching, etc: it accepts a variable number of --file arguments: for example, this set of envs generates this set of locks, doing some permutations off task name, os, gpu/cpu, etc. I like to have them checked in for long-term analysis (and because the build takes for-frigging-ever already) and offline testing, but there’s nothing that requires that.

re: removing: If anything, getting a --not-file added to conda-lock might make it easier, but frankly i haven’t yet minded it being additive-only. I guess I had had the conda-lock behavior in mind when bringing this feature in, that it would be additive-only, as there is no conda spec for “but without this”… other than run_constrained, and that’s only available in meta.yaml.

I think once we get to this level of complexity, however, I’d pretty much not want to re-invent the wheel in typescript: if environment-files was an input, we’d just install conda-lock in the base env (much like conda-build-version), build the lockfile, and then re-use the explicit provider. the lockfile content/path could then become an output, which could drive caching, which would be quite nice.

I don’t know if either conda/mamba would want to make the first move on supporting multiple files or “but-not-this” specs… and we’re still learning what it really means on conda-lock.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Python compatibility - PyPy
Python compatibility. The goal of this page is to point out some of the differences between running python with PyPy and with CPython ......
Read more >
PyPy - packages
PyPy's Python packages compatibility. PyPy is a fast, compliant alternative implementation of the Python language. Nearly all Python packages install ...
Read more >
Frequently Asked Questions - PyPy documentation
Which Python version (2.x?) does PyPy implement?¶. PyPy comes in two versions: one is fully compatible with Python 2.7;; the other is fully ......
Read more >
PyPy v7.3.6: release of python 2.7, 3.7, and 3.8
This is a micro release, all APIs are compatible with the other 7.3 releases. Highlights of the release, since the release of 7.3.5...
Read more >
PyPy v7.3.8: release of python 2.7, 3.7, 3.8, and 3.9
8 more compatible with CPython. This requires setuptools>=58.1.0. RPython now allows the target executable to have a . in its name ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found