Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/squeaky-pl/portable-pypy
Portable 64 bit x86 PyPy binaries for many Linux distributions.
https://github.com/squeaky-pl/portable-pypy
Last synced: 1 day ago
JSON representation
Portable 64 bit x86 PyPy binaries for many Linux distributions.
- Host: GitHub
- URL: https://github.com/squeaky-pl/portable-pypy
- Owner: squeaky-pl
- License: other
- Created: 2013-11-13T13:14:30.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2020-08-19T21:10:52.000Z (over 4 years ago)
- Last Synced: 2025-02-12T15:13:16.168Z (8 days ago)
- Language: Shell
- Homepage:
- Size: 230 KB
- Stars: 476
- Watchers: 24
- Forks: 38
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
====================================
Portable PyPy distribution for Linux
====================================Note:
`As of PyPy 7.3.0 `_
the general direction and some patches from Portable PyPy were
adapted/incorporated into upstream. For 7.3.0 and newer just go to official PyPy
downloads page http://pypy.org/download.html and grab Linux x86-64 binary (64bit, built
on CentOS6).This repository contains efforts to build 64 bit
x86 `PyPy `_ binaries for various Linux distributions. The idea
is that you just download an archive, uncompress it and run
it instantly without installing any extra libraries or tweaking
your OS.
Currently they are known to work across various DEB and RPM based
distributions including RHEL/Centos 6 and later, Fedora, SuSE Linux, Ubuntu and Debian stable.
PyPy binaries should run on any distribution that includes glibc 2.17.Latest Python 3.6 release
=========================`PyPy3.6 7.2 x86_64 `_::
md5: f5806dbee63e64bf51b6d8453183f133
sha1: fd675cc1d795f19893ed1d026a34307e0b6b0be0
sha256: 59099546b4dee56edcde2c9ff706687e35bb2aa94354cd56daa78aca036bd3d8Latest Python 2.7 release
=========================`PyPy 7.2 x86_64 `_::
md5: cc8c7fb3553727476b204d1cd00eaef5
sha1: 21101a1ab2a8659f699ea60613cc867e7292f55d
sha256: a4f301e7629aafe4691ed1c3e9a39cf2158d86524f6ce584e5b850303e77ad81All older downloads (pre 7.2) can be found `here `_. The original mercurial repository was archived `here `_.
Using virtualenv
================For your convenience this build also includes packaged virtualenv so you
don't have to install one if you haven't done it yet::portable-pypy/bin/virtualenv-pypy my-environment
In this case you don't have to add ``-p`` switch as it defaults to ``pypy`` binary
located in the build.Stock virtualenv didn't work with portable binaries prior to version 2.3 that included RPATH
entries in ``pypy`` binary. For these versions it's obligatory to use
``virtualenv-pypy`` that fixes this problem.Included software
=================Besides PyPy there is OpenSSL, SQLite3, libffi, expat, TCL/TK and virtualenv packaged
in these builds.A word about OpenSSL
====================This software bundles OpenSSL. Each build has a version of OpenSSL that was most recent and stable at the time of packaging this software. This is done because OpenSSL versions used across distrubtions in last 10 years greately vary and they are not compatible in ABI nor API way. This also means that if there is a major security issue with OpenSSL updating your system OpenSSL will not solve it for Portable PyPy. If you are looking for tight integration with your distribution you should probably wait until your distribution vendor packages version of PyPy you want to use or you can notify me and wait for a new build.
The `ssl` module will try to locate and use your system certificate store. Namely it will look for a `/etc/pki/tls/certs/ca-bundle.crt` file (RHEL derived systems) and then look for a `/etc/ssl/certs` directory (Debian dervied systems). Finally it will fallback to bundled Mozilla trust stores extraced from `certifi` project. If you don't like this behavior or your system trust store is located somewhere else you can use `SSL_CERT_FILE` and `SSL_CERT_DIR` environment variables to point it somewhere else.
How it is done
==============Binaries are built with a CentOS 6 base image with help of `docker `_.
That ensures that they are built against version of GLIBC that is reasonably
old not to cause problems with symbol versioning.
All the dependencies are also built inside chroot from latest stable tarballs. They are packed together with PyPy
into one distribution and `RPATH `_
entries are inserted into them (this ensures that they can be found relatively to each other).If you want to build it yourself checkout instructions inside `BUILD.rst`.