Checking Current Python Version
Before updating Python, verify the installed versions on your CentOS system using:
python --version # Checks Python 2.x (if installed)
python3 --version # Checks Python 3.x (default in CentOS 7+)
This helps determine whether an update is needed and identifies the current default version.
Updating System Packages
Ensure your system’s package index is up-to-date to avoid compatibility issues during Python installation:
sudo yum update -y # For CentOS 7
sudo dnf update -y # For CentOS 8+
This step installs the latest security patches and dependencies required for Python.
Installing/Updating Python via Yum/DNF (Recommended for Stability)
The easiest way to install or update Python is using CentOS’ native package manager. This method ensures compatibility with system tools but may not provide the latest Python versions.
- For CentOS 7:
sudo yum install epel-release -y # Enable EPEL for additional packages sudo yum install python3 -y # Installs/updates Python 3 (e.g., 3.6) - For CentOS 8+:
sudo dnf install epel-release -y sudo dnf install python3 -y # Installs/updates Python 3 (e.g., 3.9)
After installation, verify the version:
python3 --version
To set Python 3 as the default python command (optional), use:
sudo alternatives --install /usr/bin/python python /usr/bin/python3 1
sudo alternatives --config python # Select Python 3 from the list
Installing/Updating Python from Source (For Latest Versions)
If you need a specific Python version (e.g., 3.11) or custom optimizations, compile from source. This method requires manual dependency management but offers flexibility.
- Install Dependencies:
sudo yum groupinstall "Development Tools" -y # Compilers, make, etc. sudo yum install openssl-devel bzip2-devel libffi-devel wget -y # Python build dependencies - Download and Extract Source Code:
Visit the Python official website to get the latest version link. For example, for Python 3.11.6:cd /usr/src # Recommended directory for source files sudo wget https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tgz sudo tar xzf Python-3.11.6.tgz cd Python-3.11.6 - Configure, Compile, and Install:
Note: Usesudo ./configure --enable-optimizations # Optimizes Python performance sudo make altinstall # Avoids overwriting system Python (installs as python3.11)altinstallinstead ofinstallto prevent conflicts with the system’s default Python. - Verify Installation:
python3.11 --version # Replace with your installed version
Managing Multiple Python Versions with pyenv
For users needing multiple Python versions (e.g., 3.8 for legacy apps, 3.11 for new projects), pyenv is a powerful tool. It allows easy switching between versions without affecting system stability.
- Install pyenv:
Add the following to yourcurl https://pyenv.run | bash~/.bashrc(or~/.zshrc) to enable pyenv:Reload the shell:export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv virtualenv-init -)"source ~/.bashrc - Install and Set Python Version:
Verify with:pyenv install 3.11.6 # Installs Python 3.11.6 pyenv global 3.11.6 # Sets as the default Python for the userTo install a specific version for a project (without changing the global default):python --version # Should show 3.11.6cd /path/to/project pyenv local 3.8.12 # Creates a .python-version file for the project
Creating Virtual Environments (Best Practice for Isolation)
After updating Python, always use virtual environments to isolate project dependencies and avoid conflicts.
- Install venv Module (comes with Python 3.3+):
sudo yum install python3-venv -y - Create and Activate a Virtual Environment:
Once activated, install packages usingpython3 -m venv myenv # Creates a virtual environment named 'myenv' source myenv/bin/activate # Activates the environment (changes prompt to (myenv))pip(e.g.,pip install numpy). Deactivate withdeactivatewhen done.
Key Notes for a Safe Update
- Backup Data: Before making system-level changes, back up important files (e.g.,
/etc,/home). - Check Compatibility: Ensure your applications (e.g., web servers, scripts) support the new Python version. Test in a staging environment first.
- Avoid Overwriting System Python: CentOS relies on Python 2/3 for system tools (e.g.,
yum). Always usealtinstallor tools likepyenvto prevent breakage.
以上就是关于“CentOS Python安装更新与升级”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm