CentOS 默认python的版本更换

本文介绍如何通过创建软链接的方式更改系统的默认Python版本,并解决了由于更改默认Python版本后导致的Django无法导入的问题。

yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

编译安装新python之前先装依赖

然后:

./configure --prefix=/usr/local
make && make install


----------------------------------------

vim ~/.bash_profile

. ~/.bash_profile

-----------------------------------------

下边3个相关文件

/usr/local/bin/python3.4
/usr/local/bin/python 			#python2.7.5
/usr/bin/python			        #python2.6.6

系统默认的是python2.7.5,说明环境变量先搜索的是/usr/local/bin/目录

我现在要做的是将 /usr/local/bin/python3.4 做一个软链接给 /usr/local/bin/python

即用这个命令:

ln -s /usr/local/bin/python3.4 /usr/local/bin/python

(注意:要先把/usr/local/bin/python这个链接删掉,没关系的,它只是一个链接)


具体分析如下:

如图,我用ls -l命令查看时,发现蓝色名子后面都有箭头指向绿色的名子,于是猜测蓝色可能是链接,绿色才是可执行文件(后来证明猜测是对的)


看红圈里python->python2,python2->python2.7,这就是为什么默认的python命令会打开python2.7

我现在要做的就是把python这个链接,改到python3.7上,那么默认python就是python3.7了

这就是上面命令的由来了,我执行了命令,然后如图:


搞定!



---------------------------------------------------------

当我修改默认为python3.7之后,发现django不能导入,提示不存在

因为我的python2.7和python3.7都是用源码编译的,所以我还不知道它的site-packages在哪里,找了一下,在

/usr/local/lib/python2.7/site-pageages里面有django包

当然

/usr/local/lib/python3.7/site-packages里面没有django,我的解决方法是用pip重新安装,(pip  install django == 1.7.0)因为默认python已经改变了

搞定!

---------------------------------------------------------


### 如何在 CentOS 7.9 上安装和管理多个版本Python #### 使用 Miniconda 或 Anaconda 来管理多版本 Python 环境 为了方便管理和切换不同版本Python,推荐使用 Miniconda 或者 Anaconda 工具来创建隔离的工作环境。 通过 `wget` 下载 Miniconda 的最新 Linux 版本脚本并执行安装命令: ```bash wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh bash ~/miniconda.sh -b -p $HOME/miniconda echo 'export PATH="$HOME/miniconda/bin:$PATH"' >> ~/.bashrc source ~/.bashrc ``` 完成上述操作之后就可以利用 conda 命令轻松地创建各种 python 版本的虚拟环境了[^1]。 #### 编译安装特定版本Python 并设置为系统默认 如果需要编译安装某个具体版本Python,则可以从官方网站获取源码包,并按照如下方式进行配置与构建。考虑到兼容性和性能优化方面的需求,在编译之前应该先设定好相应的预处理器宏定义,比如加入 `-fPIC` 参数用于生成位置无关代码,这对于后续可能涉及到的模块开发特别有用。 ```bash tar xf Python-3.x.x.tgz # 解压下载好的 tarball 文件 cd Python-3.x.x # 进入解压缩后的目录 ./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPIC LDFLAGS=-Wl,-rpath,/usr/local/lib make && make altinstall # 避免覆盖系统的默认解释器 ln -s /usr/local/python3/bin/python3.x /usr/bin/python3.x # 创建软连接以便于调用新版本 ``` 对于某些依赖关系较为复杂的软件来说,直接修改全局路径可能会引起意想不到的问题;因此这里采用了相对保守的做法——即不改变原有 `/usr/bin/python` 指向的同时提供新的可执行文件名供用户选择性调用[^3]。 #### 处理网络镜像源导致的速度慢或无法访问问题 当遇到由于国内网络状况不佳而导致官方仓库响应缓慢甚至完全不可达的情况时,可以通过更换成阿里云或其他更稳定的第三方镜像站点来进行加速。不过需要注意的是,有时即使指定了备用服务器也可能依旧面临同样的错误提示(如 Errno 14)。此时不妨尝试关闭 fastmirror 插件再重试一次更新流程。 编辑 YUM 主配置文件 `/etc/yum.conf` ,找到 `[main]` 节下的 pluginpath 和 plugins 行取消注释并将后者设为 false 即可实现临时停用该功能的效果[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值