如何强制Ubuntu升级Python以适配Stable Diffusion运行要求?
解决Python默认版本无法切换至3.9+的问题
以下是针对你的情况的具体解决步骤:
定位所有Python可执行文件
先确认系统中已安装的所有Python版本位置及PATH优先级,执行:which -a python which -a python3输出会列出所有名为
python/python3的可执行文件路径,PATH中靠前的会优先被调用,这能帮你找到为什么3.8.18始终是默认版本。检查Shell配置中的别名或PATH设置
打开你的Shell配置文件(如~/.bashrc、~/.bash_profile或~/.zshrc),查找是否存在以下内容:- 类似
alias python='/usr/bin/python3.8'的别名设置,直接注释掉该行。 - 把Python3.8路径放在
PATH最前面的配置,调整顺序将高版本Python路径移到前面。
修改后执行source ~/.bashrc(对应你的配置文件)使更改生效。
- 类似
用update-alternatives管理默认版本(Debian/Ubuntu系)
因为你已添加Deadsnakes仓库,可通过系统的替代工具设置默认Python:- 查看已注册的Python版本:
sudo update-alternatives --list python - 如果高版本未注册,以Python3.10为例执行注册:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1 - 选择默认版本:
按提示输入对应高版本的数字即可切换。sudo update-alternatives --config python
- 查看已注册的Python版本:
修复Conda环境版本异常
若Conda新环境仍显示3.8.18,尝试重新创建指定版本的环境:conda create -n stable_diffusion_env python=3.10 conda activate stable_diffusion_env激活后再执行
python --version,若仍异常,检查Conda全局配置是否强制指定了Python版本:conda config --show若存在
python.default等相关配置,执行conda config --remove-key python.default清除。临时方案:启动Stable Diffusion时指定Python版本
若以上方法都无法修改默认版本,可直接用高版本Python启动Stable Diffusion脚本,例如:python3.10 launch.py替换
python3.10为你已安装的符合要求的版本号,launch.py为Stable Diffusion的启动脚本。
内容的提问来源于stack exchange,提问作者Bus42
相关产品推荐
相关产品推荐

