首页 > 系统相关 >Linux安装Python各个版本,这一篇就够了

Linux安装Python各个版本,这一篇就够了

时间:2023-07-18 11:33:16浏览次数:34  
标签:bz2 Python 就够 python usr Linux local pandas

 

文章目录

 

前言

网上在Linux上安装Python的方法不少,但是大多都比较麻烦,需要很多步骤,看着就头皮发麻。并且很多文章都说了怎么一步步的安装,但原理什么的,讲的比较少,这对于初学者来说,就会在出现问题时,无法解决。
下面的方法,是本人认为比较简单,并且能更好去理解Python原理,更好操作,不容易出错的方法。

一、Linux安装Python

1、安装依赖包

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

上面的命令直接复制,运行就行了

2、下载Python安装包

1、选择正确的安装包

1)Python的安装包网址为:https://www.python.org/ftp/python/3.8.0/
对于这个网址,我们拆解一下:

  • https://www.python.org/ftp/python/ 是各版本路径,访问后的截图为:

    可以看到这是Python各版本安装包的集合
  • 3.8.0/:Python的版本

所以当我们需要安装什么版本的安装包,直接去路径中,下载即可
好比,下载3.9.7的版本:则路径为:https://www.python.org/ftp/python/3.9.7/

2、下载自己需要的安装包

例如:https://www.python.org/ftp/python/3.9.7/的网页为:

我们下载 .tgz 文件即可「Windows则安装exe程序,mac安装pkg」,下载命令为:

wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz

3、解压

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

运行如下图:

三、参考文章

linux-python3.8安装
ModuleNotFoundError: No module named ‘_bz2‘问题解决

欢迎大家在评论区留言,知无不言,言无不尽。感觉不错的话,别忘了点赞收藏哦!

 

标签:bz2,Python,就够,python,usr,Linux,local,pandas
From: https://www.cnblogs.com/lidabo/p/17562425.html

相关文章

  • python连接mongodb副本集(PSA)
    环境:Python:3.6.5mongodb:4.4.22192.168.1.104:29001主节点192.168.1.107:29001从节点192.168.1.106:29001仲裁节点 #!/usr/bin/envpython#coding=utf-8importos,json,urllib,datetime,shutil,random,uuidfromrandomimportchoiceimportpymysqlimporttrace......
  • python 使用OpenCV进行目标检测和识别的完整示例
    #导入OpenCV库importcv2#加载图像image=cv2.imread('image.jpg')#创建Haar级联分类器cascade_classifier=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')#检测目标图像中的行人gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)faces=ca......
  • 安装Rocky Linux8-下
    2.2安装Linux操作系统创建虚拟机之后,便可安装Linux操作系统,其安装过程与Windows系统极为相似。如果你之前安装过Windows系统,那接下来的操作就不难了。在安装RockyLinux之前,我们还需要做一件事情—— 下载一个Rocky镜像文件。2.2.1下载Rocky镜像文件什么是镜像文件?镜像文......
  • 用 perfcollect 洞察 Linux 上.NET程序 CPU爆高
    一:背景1.讲故事如果要分析Linux上的.NET程序CPU爆高,按以往的个性我肯定是抓个dump下来做事后分析,这种分析模式虽然不重但也不轻,还需要一定的底层知识,那有没有傻瓜式的CPU爆高分析方式呢?相信有很多朋友知道B站713事件,最终就是用perf找到了那个让cpu100%的lua函......
  • python openpyxl 常用操作(一)
    Pythonopenpyxl常用操作openpyxl模块是目前Python的第三方模块中,对xls、xlsx文件操作比较全面的一个组件,里面有很多xls的常用操作,比如表合并、xls函数(如求和sum(),而且用法简单)、建统计图等。openpyxl的安装pipinstallopenpyxl 引入openpyxl模块Workboot类并进......
  • python re模块
    目录1.单字符2.字符集3.转义字符4.数量规则5.边界处理示例1示例2示例3示例4示例代码51.单字符.表示除了\n外的任意一个字符\d为数字,\D反之\s表示空白字符,\S反之\w表示字母,数字,下划线,\W反之2.字符集[]里面是单个字符进行匹配,如果需要的话要好几个[]才行......
  • Python 带颜色字体的打印
    带颜色字体的打印原理不做描述,封装后的函数如下所示#-*-coding:utf-8-*-"""带颜色打印输出;"""defprint_white(s:str):"""白色字体打印;"""print(f"\033[30m{s}\033[0m")defprint_red(s:str):&quo......
  • Linux常用命令
    文件和目录操作ls/pwd/cd/touch/mkdir/cp/mv/rm/cat/less/grep/head/tail/查找文件 find通常用来在特定目录下搜索符合条件的文件查找指定路径下扩展名是.py的文件,包括子目录find[路径]-name"*.py"如果省略路径,表示在当前文件夹下查找在使用find命令时也可以用通配......
  • python: logHelper
     #encoding:utf-8#版权所有2023涂聚文有限公司#许可信息查看:https://docs.python.org/3/library/logging.html#描述:https://www.programcreek.com/python/example/136/logging.basicConfig#https://github.com/amilstead/python-logging-examples#Author......
  • Linux内存管理 - 大页 (三)
    静态大页可以通过两种方法来设置1.检查/proc/meminfo,确认系统支持HugePageHugePages_Total:系统中配置的大页数HugePages_Free:没有访问过的大页数HugePage_Rsvd: 已经分配但是还未使用的页面数2. 配置静态大页通过在bootargs传参在系统启动过程......