linux系统安装python3和pip
一、安装python
1、安装依赖环境
yum install gcc -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
yum install zlib zlib-devel openssl -y
yum install openssl-devel -y
yum install libffi-devel -y
2、到官网下载Python包
进入官网(https://www.python.org/)点击downloads,再点击linux
选择要下载的版本包
或者使用wget方式下载
wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
3、将下载好的python包移到Linux下,然后解压
cd /usr/local
tar -zxvf Python-3.9.1.tgz
4、创建安装目录
mkdir /usr/local/python3.9/
5、进入解压后的目录,配置安装环境
cd /usr/local/Python-3.9.1
./configure --prefix=/usr/local/python3.9/
--prefix 参数是指定安装目录
6、编译并安装
make && make install
7、配置环境变量
安装好python后,如果想要在任意目录下输入python3就能进入交互模式,那么就需要设置全局变量。设置的两种方法如下:
7.1 将python3.9的bin目录添加到环境变量中
vi /etc/profile
在文件最下面添加
export PYTHON_HOME=/usr/local/python3.9
export PATH=${PYTHON_HOME}/bin:$PATH
使得配置的环境变量立即生效
source /etc/profile
7.2 将python3.9的bin目录下用到的命令添加到已有的环境变量中
8、检查是否安装成功
二、安装和使用遇到的问题
1、make install后提示:ModuleNotFoundError: No module named 'zlib'
解决方法:通过如下命令修复问题
yum install zlib zlib-devel openssl -y
修复问题后,重新执行编译和安装命令
./configure --prefix=/usr/local/python3.9/
make & make install
2、使用pip安装时告警:WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
解决方法:通过如下命令修复问题
yum install openssl-devel -y
安装完成后重新执行编译和安装
3、使用pip3安装包时提示:ModuleNotFoundError: No module named '_ctypes'
解决方法:通过如下命令修复问题
yum install libffi-devel -y
安装完成后重新执行编译和安装
三、pip的安装和卸载
安装pip
如果python安装成功我们通过下面命令是能查看到pip的
whereis pip
如果确实没有安装pip3
可以通过下面方式进行安装
yum install python3-pip
安装后查看
因为是通过yum安装的pip3,所以pip3的安装目录不在python的安装目录下,此情况会产生一个问题:通过pip3安装的包,在import时无法识别。
也就是说我们使用python3
命令根本就无法导入pip3
安装的模块,因为完全找不到这个目录下。
解决这个问题有两种思路:
- 修改下载包的安装目录
- 将pip3安装包的目录 site-packages加入到环境变量中
修改下载包的安装目录
通过创建python3.9的 site-packages 目录的
软链将pip3安装包的目录 site-packages 覆盖即可。
1 cd /usr/local/lib/python3.6
2 mv site-packages site-packages.bak
3 ln -s /usr/local/python3.9/lib/python3.9/site-packages site-packages
操作完成后,使用pip3 安装的包全部安装到 /usr/local/python3.9/lib/python3.9/site-packages 该目录下。
将pip3安装包的目录 site-packages加入到环境变量中
在家目录下 vi ~/.bashrc,在文件最后加入下面代码:
export PYTHONPATH=/usr/local/lib/python3.6/site-packages/:$PYTHONPATH
使文件立即生效
source .bashrc
此时进入python3的交互模式通过sys.path就能查看到 /usr/local/lib/python3.6 目录加入到了python的环境变量中
卸载pip
python -m pip uninstall pip -y
pip各版本包
https://pypi.tuna.tsinghua.edu.cn/simple/pip/
linux系统安装python3和pip的更多相关文章
- Linux系统安装python3
Centos7系统安装python3 在安装前需要安装依赖环境包,先安装gcc 编译器,命令如下: yum -y install gcc gcc-c++ make 1.首先查看是否安装python,系 ...
- Linux系统安装Python3环境
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 本文基于如下Linux系统版本: 1.默认情况下,Lin ...
- Linux 安装python3.7.3 提示已经自动安装了pip和setuptools 可是使用时bash提示没有找到pip
Linux 安装python3.7.3 提示已经自动安装了pip和setuptools 可是使用时bash提示没有找到pip 今天的任务就是找到解决办法 另外就是用布置好python3的路径
- 常见问题:Linux安装Python3步骤、Windows无法利用pip
Linux安装python3.6和第三方库的步骤: 我的Linux是CentOS 6.5版本 Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7, ...
- linux python3换pip 源
linux下python3 pip 安装模块 # python3 -m pip install pymysql 1)检查pip.conf文件是否存在 >> cd ~ > ...
- linux python3编译以及 卸载,python默认为python3 ,pip默认为pip3,亲测版
前置准备yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-de ...
- linux 安装python,pip,
Linux下python升级步骤 http://www.cnblogs.com/lanxuezaipiao/archive/2012/10/21/2732864.html 在 https://www. ...
- Linux下python3与python3的多版本共存
python3已经出来有些许时候了,python3相比python2进行了大量的改进,包括语法,新的功能,还有优化.虽然很多库已经同时支持 python2和python3了,但是有些库仍然没有很好的支 ...
- Linux中python3,django,redis以及mariab的安装
1. Linux中python3,django,redis以及mariab的安装 2. CentOS下编译安装python3 编译安装python3.6的步骤 1.下载python3源码包 wget ...
随机推荐
- 阿里云esc 登录时的相关提示
1. 如果该ecs 未绑定密钥对,可以通过常规的用户名密码登录 2. 如果该 ecs 绑定了密钥对,则需要通过私钥进行登录 3. 如果使用 比如 securityCRT 登录时报 " A p ...
- 使用cookie记录用户上次访问网页的时间,并返回到页面
package com.hopetesting.cookie;import javax.servlet.ServletException;import javax.servlet.annotation ...
- 【MySQL】学生成绩
统计每个人的总成绩排名 select stu.`name`,sum(stu.score) as totalscore from stu GROUP BY `name` order by totalsc ...
- 项目开发中,真的有必要定义VO,BO,PO,DO,DTO这些吗?
存在即是合理的,业务复杂,人员协同性要求高的场景下,这些规范性的东西不按着来虽然不会出错,程序照样跑,但是遵守规范会让程序更具扩展性和可读性,都是前辈血淋淋的宝贵经验,为什么不用? 随着现在后端编程标 ...
- C#深入理解多态
1.里氏替换原则 1.里氏替换原则:在一个软件系统中,如果子类出现在父类出现的位置,而整个软件功能又没有影响,那么咱们称为里氏替换. 2. 考试题:父类变量指向子类对象!! 3.里氏替换 是 ...
- HBuilderX无法启动微信小程序?仅三步
1.复制微信开发者工具启动路径 : "C:\Program Files (x86)\Tencent\微信web开发者工具\微信web开发者工具.exe" 不要后面的 "微 ...
- 虎符2021线下赛pwn writeup
jdt 一个图书管理系统,但并不是常规的堆题.edit和show函数可以越界.edit函数和show函数相互配合泄露libc基地址,将main函数的返回地址覆盖成onegadgets拿shell. f ...
- 模仿写了一个摸鱼APP解决原作者的问题
前几天见到微博里有人提到摸鱼APP,发现需要在windows store下载才可以使用,文件约100多M左右的样子,自已没有登录微软Store的习惯.想想只有一个介面,没有必要这么大,于是,自已动手写 ...
- CF1080A Petya and Origami 题解
Content 小 P 想给 \(n\) 位朋友各发一张邀请函,每张邀请函需要耗费 \(2\) 张红色纸,\(5\) 张绿色纸和 \(8\) 张蓝色纸.商店里面的纸是一堆一堆卖的,每堆里面有 \(k\ ...
- CF177A1/A2 Good Matrix Elements 题解
Content 给定一个 \(n\times n\) 的矩阵,每个元素都有一个值,求出处于两条对角线以及中间行和中间列的元素之和. 数据范围:\(1\leqslant n\leqslant 5(\te ...