Install Python Using Pyenv
This script is unofficial and not supported by Ultra.cc staff.
pyenv lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.
At a high level, pyenv intercepts Python commands using shim executables injected into your PATH, determines which Python version has been specified by your application, and passes your commands along to the correct Python installation.
For more information, visit the pyenv GitHub repository.
Pyenv and Python3 Installation Script
bash <(wget -qO- https://scripts.usbx.me/util/LanguageInstaller/Python-Installer/main.sh)
- To load the python installed using pyenv in your shell, execute the following SSH command:
source ~/.profile
- Check which python binary you are using with the following SSH command:
which python
- The output should be as follows:
/home/your_username/.pyenv/shims/python
Pyenv Usage Guide
- In this section, you will learn some basic pyenv commands:
-
versions
-
install
-
uninstall
-
global
-
- We will upgrade from python 3.9.13 to python 3.10.4.
Listing Installed Python Versions
- Execute the following SSH command:
pyenv versions
- Assuming that you used the script to install python 3.9, the output will look like this:
ultradocs@pollux:~$ pyenv versions
system
* 3.9.13 (set by /home/ultradocs/.pyenv/version)
ultradocs@pollux:~$
- The
*
beside3.9.13
means that pyenv has set it as the global python version.
Installing other Python Versions using Pyenv
- Execute the following SSH command:
pyenv install --list | grep -E " 3.[8-9].*| 3.10.*"
- It will list all versions of python from version 3.8 to version 3.10 available for install via pyenv.
- Example output:
ultradocs@pollux:~$ pyenv install --list | grep -E " 3.[8-9].*| 3.10.*"
3.8.0
3.8-dev
3.8.1
3.8.2
3.8.3
3.8.4
3.8.5
3.8.6
3.8.7
3.8.8
3.8.9
3.8.10
3.8.11
3.8.12
3.8.13
3.9.0
3.9-dev
3.9.1
3.9.2
3.9.4
3.9.5
3.9.6
3.9.7
3.9.8
3.9.9
3.9.10
3.9.11
3.9.12
3.9.13
3.10.0
3.10-dev
3.10.1
3.10.2
3.10.3
3.10.4
ultradocs@pollux:~$
- You can install any one of them easily with the following SSH command:
pyenv install -v <version number>
For example:
pyenv install -v 3.10.4
- Since I have also installed python 3.10.4, my
pyenv versions
output looks like this:
ultradocs@pollux:~$ pyenv install -v 3.10.4
ultradocs@pollux:~$ pyenv versions
system
3.10.4
* 3.9.13 (set by /home/ultradocs/.pyenv/version)
ultradocs@pollux:~$
- Notice that pyenv is still using 3.9.13 as the global python version.
- This can be changed with the following SSH command:
pyenv global <version>
For example:
pyenv global 3.10.4
- Now pyenv will set python 3.10.4 as the global version.
- Example output:
ultradocs@pollux:~$ pyenv global 3.10.4
ultradocs@pollux:~$ pyenv versions
system
* 3.10.4 (set by /home/ultradocs/.pyenv/version)
3.9.13
ultradocs@pollux:~$ python -V
Python 3.10.4
ultradocs@pollux:~$
Uninstalling a Python Version using Pyenv
- Again, list your installed python versions and uninstall using the SSH command given below:
pyenv uninstall <version>
Example:
pyenv uninstall 3.9.13
- Example output:
ultradocs@pollux:~$ pyenv versions
system
* 3.10.4 (set by /home/ultradocs/.pyenv/version)
3.9.13
ultradocs@pollux:~$ pyenv uninstall 3.9.13
pyenv: remove /home/ultradocs/.pyenv/versions/3.9.13? [y|N] y
pyenv: 3.9.13 uninstalled
ultradocs@pollux:~$
- We basically upgraded to python 3.10.4 and removed python 3.9.13.
Uninstall Pyenv and the Python version(s) installed by it
- Execute the following SSH command:
rm -rf ~/.pyenv
- Open
~/.profile
for editing with the following SSH command:
nano ~/.profile
- Remove the following lines from it:
- export PYENV_ROOT="$HOME/.pyenv"
- export PATH="$PYENV_ROOT/bin:$PATH"
- eval "$(pyenv init --path)"
- Use the key combination
Ctrl + O
and pressEnter
to save the changes. - Then, use the key combination
Ctrl + X
to exit the nano text editor. - Load your new
~/.profile
with the following SSH command:
source ~/.profile