tar -zxvf Python-3.9.7.tgz
解压后,如下图:
4、安装
cd Python-3.9.7
./configure --prefix=/usr/local/python3
make && make install
上面的命令一行行的来,先到安装包目录,然后安装, 等待安装运行结束
5、建立软连接
1)软连接命令
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip
2)软命令说明
注意:这个地方是重点,一个是连接python运行位置,另一个则连接着pip的运行位置
通俗的说,这个软连接的作用,就是告诉系统,python和pip在哪呢!
我个人比较习惯使用python、pip,不习惯使用python3、pip3,所以我软连接设置的为 /usr/bin/python 和 /usr/bin/pip
命令中的 /usr/bin/python 和 /usr/bin/pip 是大部分机器的位置,那怎么确定你的机器的具体位置是哪呢?「确定python和pip的方法一样,以python为例」
① 确定python和pip的运行位置
where python
where pip
cd 到查询出的命令路径下,查看对应的python和pip的软连接状态:
where python
cd 路径
# 查看python的具体软连接信息,注意加上 *
la python*
如下图:
如果您软连接指向的路径不是python3.9的,则进行②步骤
② 设置软连接
首先cd到where命令查出的路径,然后删除当前的软连接,重新设置,操作步骤如下图:
如果where命令执行之后,出现多个路径,那就去尝试每个路径,直至确定哪个路径才是真正的发挥作用
上面的方法,可用于切换Python版本,我们可以让Linux上拥有多个Python版本,需要用到哪个版本,我们就软连接到哪个版本
本机的Python版本均在 /usr/local/python3/bin 路径下:
当我们需要新的版本时,重复1到4步骤,即会在 /usr/local/python3/bin 目录下创建新的版本文件,而我们不用的版本也不需删除,只需切换软连接即可,这就是Python版本切换的精髓,而在Windows上则是通过设置环境变量来进行实现。
6、运行python,查看是否可用
如果出现上面的图面,说明你安装成功了,恭喜你。
二、Python运行的其他问题
1、“ModuleNotFoundError: No module named ‘_bz2’”
Traceback (most recent call last):
File "stat_model.py", line 1, in <module>
from torchstat import stat
File "/usr/local/lib/python3.7/site-packages/torchstat/__init__.py", line 11, in <module>
from torchstat.reporter import report_format
File "/usr/local/lib/python3.7/site-packages/torchstat/reporter.py", line 1, in <module>
import pandas as pd
File "/usr/local/lib/python3.7/site-packages/pandas/__init__.py", line 55, in <module>
from pandas.core.api import (
File "/usr/local/lib/python3.7/site-packages/pandas/core/api.py", line 24, in <module>
from pandas.core.groupby import Grouper, NamedAgg
File "/usr/local/lib/python3.7/site-packages/pandas/core/groupby/__init__.py", line 1, in <module>
from pandas.core.groupby.generic import ( # noqa: F401
File "/usr/local/lib/python3.7/site-packages/pandas/core/groupby/generic.py", line 44, in <module>
from pandas.core.frame import DataFrame
File "/usr/local/lib/python3.7/site-packages/pandas/core/frame.py", line 88, in <module>
from pandas.core.generic import NDFrame, _shared_docs
File "/usr/local/lib/python3.7/site-packages/pandas/core/generic.py", line 70, in <module>
from pandas.io.formats.format import DataFrameFormatter, format_percentiles
File "/usr/local/lib/python3.7/site-packages/pandas/io/formats/format.py", line 48, in <module>
from pandas.io.common import _expand_user, _stringify_path
File "/usr/local/lib/python3.7/site-packages/pandas/io/common.py", line 3, in <module>
import bz2
File "/usr/local/lib/python3.7/bz2.py", line 19, in <module>
from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'
问题原因:
bz2这个库找不到了,看其他博客说是安装Python时bz库,即“_bz2.cpython-36m-x86_64-linux-gnu.so” 安装错了位置
解决方法:
1、查找 _bz2.cpython 文件
sudo find / -name "_bz2.cpython-*"
2、切换到python版本对应路径,将该文件复制到该目录下:
cd /usr/local/python3/lib/python3.9/lib-dynload
sudo cp /usr/lib64/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so ./
3、修改文件名称,将"-36m"修改为"-39"即可「和同目录的其他文件命名保持统一」:
sudo mv ./_bz2.cpython-36m-x86_64-linux-gnu.so ./_bz2.cpython-39-x86_64-linux-gnu.so
运行如下图:
三、参考文章
[ModuleNotFoundError: No module named ‘_bz2‘问题解决]
欢迎大家在评论区留言,知无不言,言无不尽。感觉不错的话,别忘了点赞收藏哦!
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析学习等教程。带你从零基础系统性的学好Python!
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!