{"id":13494860,"url":"https://github.com/saghul/pythonz","last_synced_at":"2025-04-12T15:39:45.320Z","repository":{"id":1017798,"uuid":"3885342","full_name":"saghul/pythonz","owner":"saghul","description":"Python installation manager supporting CPython, Stackless, PyPy and Jython","archived":false,"fork":false,"pushed_at":"2023-12-14T15:21:35.000Z","size":1114,"stargazers_count":749,"open_issues_count":21,"forks_count":69,"subscribers_count":30,"default_branch":"master","last_synced_at":"2024-10-11T01:46:49.566Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":" http://saghul.github.io/pythonz","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saghul.png","metadata":{"files":{"readme":"README.rst","changelog":"ChangeLog","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2012-03-31T12:31:20.000Z","updated_at":"2024-08-31T13:37:11.000Z","dependencies_parsed_at":"2023-12-14T16:44:34.018Z","dependency_job_id":null,"html_url":"https://github.com/saghul/pythonz","commit_stats":{"total_commits":422,"total_committers":48,"mean_commits":8.791666666666666,"dds":0.5639810426540284,"last_synced_commit":"b22abb33b106e599c8ac56c8e82e067548bf0e3d"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2Fpythonz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2Fpythonz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2Fpythonz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2Fpythonz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saghul","download_url":"https://codeload.github.com/saghul/pythonz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248590692,"owners_count":21129875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T19:01:28.891Z","updated_at":"2025-04-12T15:39:45.294Z","avatar_url":"https://github.com/saghul.png","language":"Python","readme":"pythonz: a Python installation manager\n======================================\n\nOverview\n--------\n\n``pythonz`` is a program to automate the building and installation of Python versions in the user's ``$HOME``. This is\na fork of the original project, `pythonbrew \u003chttps://github.com/utahta/pythonbrew\u003e`_.\n\nThe original project seems to be unmaintained, and it also has some extra features which I don't really\nneed, so I made this fork to make something a bit simpler that works for *me*. You may also find it\nuseful.\n\nCPython, Stackless, PyPy and Jython are supported.\n\nInstallation\n------------\n\nThe recommended way to download and install ``pythonz`` is to run these statements in your shell::\n\n  curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash\n\nor::\n\n  fetch -o - https://raw.github.com/saghul/pythonz/master/pythonz-install | bash\n\nAfter that, ``pythonz`` installs itself to ``~/.pythonz``.\n\nPlease add the following line to the end of your ``~/.bashrc``::\n\n  [[ -s $HOME/.pythonz/etc/bashrc ]] \u0026\u0026 source $HOME/.pythonz/etc/bashrc\n\nIf you need to install ``pythonz`` into somewhere else, you can do that by setting a ``PYTHONZ_ROOT`` environment variable::\n\n  export PYTHONZ_ROOT=/path/to/pythonz\n  curl -kLO https://raw.github.com/saghul/pythonz/master/pythonz-install\n  chmod +x pythonz-install\n  ./pythonz-install\n\nFor Systemwide (Multi-User) installation\n----------------------------------------\n\nIf the install script is run as root, ``pythonz`` will automatically install into ``/usr/local/pythonz``.\n\n``pythonz`` will be automatically configured for every user on the system if you install it as root.\n\nAfter installing it, where you would normally use ``sudo``, non-root users will need to use ``sudo-pythonz``::\n\n  sudo-pythonz install 3.8.0\n\nBefore installing Python versions via ``pythonz``\n-------------------------------------------------\n\nYou might want to install some optional dependencies, for functionality that\nis often expected to be included in a Python build (it can be a bummer to discover these missing and\nhave to rebuild your Python setup). These include the following, ordered by (very roughly guessed)\nprobability that you will need them:\n\nDebian family (Ubuntu...)\n^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  sudo apt-get install build-essential zlib1g-dev libbz2-dev libssl-dev libreadline-dev libncurses5-dev libsqlite3-dev libgdbm-dev libdb-dev libexpat-dev libpcap-dev liblzma-dev libpcre3-dev libffi-dev\n\nIf you need tkinter support, add ``tk-dev``.\n\nRPM family (CentOS, RHEL...)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  yum groupinstall \"Development tools\"\n  yum install zlib-devel bzip2-devel openssl-devel readline-devel ncurses-devel sqlite-devel gdbm-devel db4-devel expat-devel libpcap-devel xz-devel pcre-devel libffi-devel\n\nIf you need tkinter support, add ``tk-devel``.\n\nmacOS\n^^^^^\n\nApple stopped including the OpenSSL development headers in OS X El Captian and macOS Sierra. You will need to install OpenSSL with Homebrew (or MacPorts). This document assumes usage of Homebrew.\n\n::\n\n  xcode-select --install\n  brew install openssl\n\nYou should then add variables for ``CPPFLAGS`` and ``LDFLAGS`` to your shell environment. This allows ``pythonz`` to find the OpenSSL installed by Homebrew.\n\n::\n\n  export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n  export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n\nUsage\n-----\n\n::\n\n  pythonz command [options] version\n\nSee the available commands\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  pythonz help\n\nTo get help on each individual command\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  pythonz help \u003ccommand\u003e\n\n\nInstall some Python versions\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  pythonz install 2.7.3\n  pythonz install -t stackless 2.7.2\n  pythonz install -t jython 2.5.2\n  pythonz install -t pypy --url https://bitbucket.org/pypy/pypy/downloads/pypy-1.8-osx64.tar.bz2 1.8\n  pythonz install --verbose 2.7.2\n  pythonz install --configure=\"CC=gcc_4.1\" 2.7.2\n  pythonz install --url http://www.python.org/ftp/python/2.7/Python-2.7.2.tgz 2.7.2\n  pythonz install --file /path/to/Python-2.7.2.tgz 2.7.2\n  pythonz install 2.7.3 3.2.3\n  pythonz install -t pypy3 2.3.1\n\nList the installed Python versions\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  pythonz list\n\nList all the available Python versions for installing\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  pythonz list -a\n\nList all the available Jython versions\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n   pythonz list -a -t jython\n\nUninstall the specified Python\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  pythonz uninstall 2.7.3\n  pythonz uninstall -t stackless 3.2.2\n\nRemove stale source folders and archives\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  pythonz cleanup\n\nUpgrade ``pythonz`` to the latest version\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  pythonz update\n\nCheck the installed ``pythonz`` version\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  pythonz version\n\nPrint the path to the interpreter of a given version\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n  pythonz locate 2.7.7\n\nRecommended way to use a pythonz-installed version of Python\n------------------------------------------------------------\n\nFor Python \u003c= 3.2\n^^^^^^^^^^^^^^^^^\n\nUse ``virtualenv``, e.g.::\n\n  mkvirtualenv -p $(pythonz locate 2.7.3) python2.7.3\n\nFor more information about ``virtualenv``, check out `the virtualenv documentation \u003chttp://www.virtualenv.org/en/latest/\u003e`_.\n\nFor Python \u003e= 3.3\n^^^^^^^^^^^^^^^^^\n\nUse ``venv`` directly from Python, e.g.::\n\n  /usr/local/pythonz/pythons/CPython-3.4.1/bin/python3 -m venv python3.4.1\n\nFor more information about ``venv``, check out `the venv documentation \u003chttps://docs.python.org/3/library/venv.html\u003e`_.\n\nDTrace support\n--------------\n\nCPython versions 2.7.6 and 3.3.4 can be built with DTrace suport. Patches adding support\nfor DTrace have been taken from `this page \u003chttp://www.jcea.es/artic/solitaire.htm/python_dtrace.htm\u003e`_\nby Jesús Cea.\n\nBuilding Python with DTrace support::\n\n  pythonz install --configure=\"--with-dtrace\" 2.7.6\n","funding_links":[],"categories":["Python","Version Managers"],"sub_categories":["Python"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaghul%2Fpythonz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaghul%2Fpythonz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaghul%2Fpythonz/lists"}