Ubuntu更改默认python版本的两种方法 python-> Anaconda

本文介绍在Debian Linux系统中如何通过修改用户配置文件或使用update-alternatives命令来切换不同版本的Python。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件。你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用。

[python]  view plain  copy
  1. $ ls /usr/bin/python*  
  2. /usr/bin/python  /usr/bin/python2  /usr/bin/python2.7  /usr/bin/python3  /usr/bin/python3.4  /usr/bin/python3.4m  /usr/bin/python3m  

执行如下命令查看默认的 Python 版本信息:

[python]  view plain  copy
  1. $ python --version  
  2. Python 2.7.8  


1、基于用户修改 Python 版本:

想要为某个特定用户修改 Python 版本,只需要在其 home 目录下创建一个 alias(别名) 即可。打开该用户的 ~/.bashrc文件,添加新的别名信息来修改默认使用的 Python 版本。

[python]  view plain  copy
  1. alias python='/usr/bin/python3.4'  

一旦完成以上操作,重新登录或者重新加载 .bashrc 文件,使操作生效。

[python]  view plain  copy
  1. $ . ~/.bashrc  

检查当前的 Python 版本。

[python]  view plain  copy
  1. $ python --version  
  2. Python 3.4.2  


2、 在系统级修改 Python 版本

我们可以使用 update-alternatives 来为整个系统更改 Python 版本。以 root 身份登录,首先罗列出所有可用的 python 替代版本信息:

[python]  view plain  copy
  1. # update-alternatives --list python  
  2. update-alternatives: error: no alternatives for python  

如果出现以上所示的错误信息,则表示 Python 的替代版本尚未被 update-alternatives 命令识别。想解决这个问题,我们需要更新一下替代列表,将 python2.7 和 python3.4 放入其中。

[python]  view plain  copy
  1. # update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1  
  2. update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode  
  3. # update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2  
  4. update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode  

--install 选项使用了多个参数用于创建符号链接。最后一个参数指定了此选项的优先级,如果我们没有手动来设置替代选项,那么具有最高优先级的选项就会被选中。这个例子中,我们为 /usr/bin/python3.4 设置的优先级为2,所以update-alternatives 命令会自动将它设置为默认 Python 版本。

[python]  view plain  copy
  1. # python --version  
  2. Python 3.4.2  

接下来,我们再次列出可用的 Python 替代版本。

[python]  view plain  copy
  1. # update-alternatives --list python  
  2. /usr/bin/python2.7  
  3. /usr/bin/python3.4  

现在开始,我们就可以使用下方的命令随时在列出的 Python 替代版本中任意切换了。

[python]  view plain  copy
  1. # update-alternatives --config python  
  2. # python --version  
  3. Python 2.7.8  

3、移除替代版本

一旦我们的系统中不再存在某个 Python 的替代版本时,我们可以将其从 update-alternatives 列表中删除掉。例如,我们可以将列表中的 python2.7 版本移除掉。

[python]  view plain  copy
  1. # update-alternatives --remove python /usr/bin/python2.7  
  2. update-alternatives: removing manually selected alternative - switching python to auto mode  
  3. update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode  


or 移除软连接

[html]  view plain  copy
  1. rm -rf /data/logs   
  2. ln -s /temp/logs /data/logs  

解决软连接ln报错-bash: /usr/local/bin/mysql: Too many levels of symbolic links

<think>我们遇到了一个关于opencv-python-headless包安装的错误,错误信息指出当前忽略了一些需要不同Python版本的包版本,具体是opencv-python-headless要求 Python版本>=3.10或>=3.11。这意味着我们当前使用的Python版本低于3.10。解决这个问题的思路如下:1. **检查当前Python版本**:首先确认当前使用的 Python版本是否确实低于3.10。2. **升级 Python版本**:如果当前版本低于3.10,则需要升级Python3.10或更高版本3. **使用虚拟环境**:如果系统中有多个Python版本,可以创建一个使用Python3.10或更高版本的虚拟环境。4.**检查opencv-python-headless的版本**:如果必须使用较低版本Python,可以尝试安装支持当前Python版本的 opencv-python-headless旧版本。具体步骤: ###步骤1:检查 Python版本在终端中运行: ```bashpython --version```或者,如果同时安装了Python2Python3,可能需要使用:```bashpython3 --version``` ###步骤2:升级Python版本(如果当前版本过低)如果当前版本低于3.10,需要升级到3.10或更高版本。**Ubuntu/Debian系统升级 Python3.10:**```bashsudoapt updatesudoapt installsoftware-properties-commonsudo add-apt-repositoryppa:deadsnakes/ppasudo aptupdatesudo aptinstall python3.10``` **注意**:安装后,可能需要使用`python3.10`命令来运行Python3.10。###步骤3:创建虚拟环境(推荐)使用Python3.10创建一个虚拟环境:```bashpython3.10 -m venv myenvsource myenv/bin/activate```然后在这个虚拟环境中尝试安装 opencv-python-headless。###步骤4:安装支持当前Python版本的旧版本 opencv-python-headless如果无法升级 Python版本,可以尝试安装支持当前Python版本的旧版本 opencv-python-headless。首先,查看可用的版本: ```bashpip installopencv-python-headless==```这会列出所有版本,然后选择一个适合当前 Python版本版本。例如,如果当前是Python3.9,可以尝试:```bashpipinstall opencv-python-headless==4.5.5.62```注意:需要查找历史版本中哪些支持较低的Python版本。可以通过 [PyPI页面](https://pypi.org/project/opencv-python-headless/#history)查看每个版本的要求。但是请注意,从2023年开始,opencv-python-headless的新版本要求 Python>=3.10,所以旧版本Python只能安装较旧的 opencv-python-headless。###步骤5:使用 conda(如果使用 Anaconda)如果使用 conda,可以尝试: ```bashcondacreate -n myenv python=3.10conda activatemyenvconda install-c conda-forge opencv``` ###总结核心问题在于Python版本过低,最佳解决方案是升级到3.10或更高版本。如果升级不可行,则安装旧版本的opencv-python-headless。如果上述步骤仍无法解决,请提供你的Python版本和操作系统信息以便进一步帮助。 §§相关问题§§1.如何检查系统中已安装的 Python版本2.如何在 Ubuntu20.04上安装 Python3.10并设置为默认版本3.如何为特定版本Python创建虚拟环境? 4.如何查找opencv-python-headless支持Python3.9的版本?</think>### 解决 opencv-python-headless 版本不兼容问题 当出现错误 `ERROR: Ignored the following versions that require a different python version: opencv-python-headless Requires-Python >=3.10 or >=3.11` 时,表明当前 Python 版本过低。以下是详细解决方案: --- #### 1. **检查当前 Python 版本** ```bash python --version # 或 python3 --version ``` - 如果输出低于 `3.10`(如 `3.8` 或 `3.9`),则需要升级 Python --- #### 2. **升级 Python 版本** **Linux/Ubuntu 升级步骤:** ```bash sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.11 ``` **macOS (Homebrew):** ```bash brew update brew install python@3.11 ``` **Windows:** 1. 访问 [Python 官网](https://www.python.org/downloads/) 2. 下载 Python3.10 的安装包 3. 安装时勾选 **"Add Python to PATH"** --- #### 3. **创建兼容的虚拟环境** ```bash # 创建新环境(Python 3.10+) python3.11 -m venv opencv-env # 激活环境 source opencv-env/bin/activate # Linux/macOS opencv-env\Scripts\activate # Windows ``` --- #### 4. **安装兼容版本 opencv** 在激活的虚拟环境中执行: ```bash pip install --upgrade pip pip install opencv-python-headless==4.8.0.76 # 明确指定版本 ``` > 关键点: > -版本 opencv-python-headless (≥4.8.0) 要求 Python3.10[^1] > -版本 Python 需安装 ≤4.7.0 的 opencv --- #### 5. **替代方案:使用兼容旧版本** 如果必须使用 Python <3.10: ```bash # 安装支持旧Python版本 pip install opencv-python-headless==4.7.0.72 ``` > 注意:4.7.x 是最后一个支持 Python 3.8-3.9 的版本[^1] --- #### 验证安装 ```python import cv2 print(cv2.__version__) # 应输出 4.7.0.72 或 4.8.0.76 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值