Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@bjia56/portable-python
Advanced tools
This project provides self-contained (hence, "portable") Python distributions to a variety of target platforms and architectures. These Python distributions can be downloaded and extracted to anywhere on the filesystem, making installation trivially easy and configurable.
To get started, download archives from GitHub releases. Alternatively, use any of the following installers:
npm i @bjia56/portable-python-3.9
npm i @bjia56/portable-python-3.10
npm i @bjia56/portable-python-3.11
npm i @bjia56/portable-python-3.12
For example, on Linux via bash:
$ wget -q https://github.com/bjia56/portable-python/releases/download/cpython-v3.12.6-build.5/python-headless-3.12.6-linux-x86_64.zip
$ unzip -qq python-headless-3.12.6-linux-x86_64.zip
$ ./python-headless-3.12.6-linux-x86_64/bin/python --version
Python 3.12.6
Or via the node installer:
$ npm i --silent @bjia56/portable-python-3.12
$ ./node_modules/@bjia56/portable-python-3.12/python-headless-3.12.6-linux-x86_64/bin/python --version
Python 3.12.6
Or via node:
var pythonExe = require("@bjia56/portable-python-3.12");
var child_process = require("child_process");
console.log(child_process.execSync(`${pythonExe} --version`).toString());
Currently, CPython 3.9, 3.10, 3.11, and 3.12 are built for the following targets:
For Linux CPython builds, the minimum glibc required is as follows:
Hardware Architecture | Minimum glibc Version |
---|---|
x86_64 | 2.17 |
i386 | 2.17 |
aarch64 | 2.17 |
arm | 2.17 |
riscv64 | 2.27 |
s390x | 2.19 |
loongarch64 | 2.36 |
For all CPython distributions except for the Cosmopolitan libc build, there are two available variants: full
and headless
. The distinction is that headless
builds do not include any UI libraries (i.e. tkinter
and its dependencies), so are better suited for non-graphical server installations.
PyPy and GraalPy distributions are also available as repackaged versions of official upstream releases. Though they are already portable, the distributions have been made available through the node installers for convenience and flexibility.
1 The arm builds target armv6, specifically the configuration of the Raspberry Pi 1. Current arm builds do not work properly on old glibc (despite the glibc 2.17 target), but a recent version of Raspbian like Debian bullseye should provide a new enough glibc to work. ↩
2 Windows distributions require a minimum of Windows 10. ↩
3 MacOS distributions are provided as universal2, which will work on both x86_64 and arm64. The minimum MacOS version is 10.9 on x86_64 and 11.0 on arm64. ↩
4 Cosmopolitan builds are statically linked and may not support all Python features. See the Cosmopolitan project's documentation for minimum operating system requirements. ↩
The build scripts and code in this repository are available under the Apache-2.0 License. Note that compilation of Python involves linking against other libraries, some of which may include different licensing terms. Copies of the licenses from known dependencies are included under the licenses
directory of each Python distribution.
FAQs
Portable Python
The npm package @bjia56/portable-python receives a total of 465 weekly downloads. As such, @bjia56/portable-python popularity was classified as not popular.
We found that @bjia56/portable-python demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.