首页 > 系统相关 >Linux 下 python3.9.8的安装

Linux 下 python3.9.8的安装

时间:2023-02-12 02:44:04浏览次数:53  
标签:bin local make devel usr install Linux 安装 python3.9

1. 准备安装环境

  • centos
yum install gcc  zlib* openssl* -y 
yum install sqlite-devel -y
yum install bzip2 bzip2-devel -y
yum install xz-devel -y
yum install python-backports-lzma -y
yum install mesa-libGL -y
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
  • ubuntu
    更新服务器
apt update && apt upgrade -y

安装环境依赖

apt install zlib* ​​​​-y
apt install build-essential zlib1g -y
apt install libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev -y

2. linux 下 python 安装包的获取

官网下载地址:

https://www.python.org/downloads/

找到 自己想要的版本。

方式一:直接点击该链接下载,然后将安装包通过xftp 传送到远程服务器 的

/opt

路径下

方式二:

    1. 右键复制该链接:

在 opt 路径下,使用wget命令下载:

cd /opt
wget https://www.python.org/ftp/python/3.9.8/Python-3.9.8.tgz
    1. 如果系统没有wget ,先下载 wget ,再重复上一步。
yum -y install wget

3. 解压刚刚下载的安装包

tar -xzvf Python-3.9.8.tgz

并将解压后的文件夹更名 (非必要步骤)

mv Python-3.9.8 python398

将刚刚解压更名后的文件夹移动到自己的想要的安装位置,并更名

mv python398 /usr/local

4. 进入该文件夹目录,编译安装

cd /usr/local/python398

./configure --prefix=/usr/local/python398 --enable-optimizations

–prefix 参数是指定安装目录.

  • 编译:
make
  • 编译成功后,编译安装:
make install

注:上面也可以组合一下

make && make install

短路写法只有编译成功之后才会进行后边的编译安装,前边失败后边是不会执行的。

5. 检查是否安装成功

检查python3.9的编译器:

cd /usr/local/python398/bin
./python3.9

显示python 窗口即可。

6. 配置环境变量

vim /etc/profile
export PYTHON_HOME=/usr/local/python398
export PATH=${PYTHON_HOME}/bin:$PATH

使得配置的环境变量立即生效:

source /etc/profile

7. 配置软连接

ln -s /usr/local/python398/bin/python3.9 /usr/bin/python39
ln -s /usr/local/python398/bin/pip3.9 /usr/bin/pip39

报错情况:

问题1: Python安装报错 configure: error: in `/usr/local/python3/Python':

报错描述:

[root@localhost Python-3.5.4]# ./configure --prefix=/usr/local/python3.5

checking build system type... x86_64-pc-linux-gnu

checking host system type... x86_64-pc-linux-gnu

checking for python3.5... no

checking for python3... no

checking for python... python

checking for --enable-universalsdk... no

checking for --with-universal-archs... no

checking MACHDEP... linux

checking for --without-gcc... no

checking for --with-icc... no

checking for gcc... no

checking for cc... no

checking for cl.exe... no

configure: error: in `/usr/local/python3/Python-3.5.4':

configure: error: no acceptable C compiler found in $PATH

问题分析:缺少gcc编译环境

解决方法:

yum -y install gcc

问题2: 安装python时出现Ignoring ensurepip failure:pip required SSL/TLS

报错描述:

Ignoring ensurepip failure: pip 9.0.1 requires SSL/TLS

问题分析:缺少openssl-devel包

解决方法:

yum -y install openssl-devel

问题3:如何设置环境变量,直接输入python3就可以进入python3版本

解决方法:

echo "export PATH=$PATH:/usr/local/python3/bin/" >> /etc/profile.d/python3.sh

export PATH=$PATH:/usr/local/python3/bin/

问题4:如果装了ipython,如何在python2,python3都可以使用ipyhon

解决方法:

先使用pip2 -V 和 pip3 -V 确认对应的python版本正确

之后

pip2 install ipython 安装python2的

pip3 install ipython 安装python3的

问题5:ModuleNotFoundError: No module named '_sqlite3'

解决:

1,首先安装 sqlite-devel

yum install sqlite-devel
 

2,重新编译安装Python

./configure --prefix=/usr/local/python398 --enable-optimizations

make clean & make && make install

问题6:No module named '_bz2'

解决:

1,首先安装
yum -y install bzip2 bzip2-devel

2,重新编译安装Python

./configure --prefix=/usr/local/python398 --enable-optimizations

make clean &make && make install

问题7:报错如下:

make build_all CFLAGS_NODIST=" -fprofile-use -fprofile-correction" LDFLAGS_NODIST=""
make[1]: Entering directory `/usr/local/src/Python-3.8.0'
./python -E -S -m sysconfig --generate-posix-vars ;\
if test $? -ne 0 ; then \
echo "generate-posix-vars failed" ; \
rm -f ./pybuilddir.txt ; \
exit 1 ; \
fi
Could not import runpy module
Traceback (most recent call last):
File "/usr/local/src/Python-3.8.0/Lib/runpy.py", line 15, in <module>
import importlib.util
File "/usr/local/src/Python-3.8.0/Lib/importlib/util.py", line 14, in <module>
from contextlib import contextmanager
File "/usr/local/src/Python-3.8.0/Lib/contextlib.py", line 4, in <module>
import _collections_abc
SystemError: <built-in function compile> returned NULL without setting an error
generate-posix-vars failed
make[1]: *** [pybuilddir.txt] Error 1
make[1]: Leaving directory `/usr/local/src/Python-3.8.0'
make: *** [profile-opt] Error 2


导致原因:
在低版本的gcc中带有–enable-optimizations参数
解决方法(推荐方式三):
方式一:1、升级gcc至高版本,gcc 8.1.0已修复此问题 
方式二:./configure参数中去掉–enable-optimizations
方式三: make clean& make && make install  (推荐这种方式)

升级gcc解决:
yum install centos-release-scl -y
yum install devtoolset-10-gcc* -y
安装完成后新版的gcc与g++安装在/opt/rh/devtoolset-10目录下,如果需要临时生效,可以执行:
source /opt/rh/devtoolset-10/enable
如果需要永久生效,可以把devtoolset-8里的gcc和g++链接到/usr/bin去:

mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-10/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-10/root/bin/g++ /usr/bin/g++

再用gcc -v就能看到版本已变为10.2.1-11。此时编译出的内核模块就能正常rmmod卸载了。

最后shell中执行ipython或ipython3会进入不同的python版本

标签:bin,local,make,devel,usr,install,Linux,安装,python3.9
From: https://www.cnblogs.com/lwlq/p/17113195.html

相关文章

  • 5.docker安装redis
    下载redis镜像 不讲那么细了,可以参考docker安装mysql的介绍 dockerpullredis 不加冒号和版本表示下载最新版本的 镜像下载完后可以数据 dockerimages 命令查......
  • k8s安装指南
    安装机器说明ubuntu2h16g只有一台机器开始安装一,安装kubectl,kubeadm,kubeletesudocurlhttps://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg|apt-k......
  • [学习笔记]PostgreSQL数据库的安装和配置
    安装安装源yuminstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm安装本体yum-yinstallpostg......
  • [学习笔记] CentOS + .Net后端常用的中间件工具安装
    Redis5.0+官方文档:https://redis.io/download/#redis-downloadssudoyuminstallredisRabbitMQ3.7.11+官方文档:https://www.rabbitmq.com/install-rpm.html配置安......
  • orbslam3(1)安装和编译
      https://github.com/UZ-SLAMLab/ORB_SLAM30环境ubuntu20opencv3.4.9ros roscvbriage单独根据opencv重新编译(vins-fusion安装编译的) 1安装下载gitcl......
  • linux007之文件、目录操作命令
    查看当前所在目录:pwd:查看当前所在目录路径ls:查看当前目录所有文件ls路径:查看指定目录下所有文件ls-l:以列的形式查看当前目录所有文件ls-l路......
  • 7. Linux 软件管理
    1.Fedora/CentOS/RHEL1.1RPM包RPM(原来指RetHatPackageManager),现在是(RPMPackageManager),RedHat公司提出,被众多Linux发行版所采用。rpm包也称二进制包,无需编译,可以直接......
  • 4.docker安装mysql
    下载mysql镜像打开docker镜像仓库https://hub.docker.com   我们下载官方镜像,点击打开   可以看到tags有很多不通版本的mysql   比如我想安装5.7......
  • 2.Linux安装docker
    Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。 进入docker官网找到安装文档......
  • linux基本功系列之tar命令实战
    前言大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第44篇文章。此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的......