linux(18.04)编译安装python3.6的全过程,pip python不与linux系统环境混乱

news2024/12/23 22:31:10

因为使用要求,使得我需要在linux环境下安装一个独立的python环境,不干扰其他环境。

一,下载python资源包

两种下载方式二选一,谁快选谁

linux下载:

不同的python版本,安装过程是一样的,下载其他python版本的时候直接修改下面命令的网址链接的版本号也是可以的

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

windows下载:

建议先在windows下载,然后把这个包放到linux系统中,因为linux下载过程比较慢。
windows下载链接:https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz

因为我电脑和linux设备在同一wifi下,所以直接使用scp命令在主机间复制,我的复制命令格式:

scp C:\Users\LQ\Downloads\Python-3.6.9.tgz lq@192.168.1.100:/home/lq/download

二,解压python资源包,配置,编译,安装

在Linux中新建一个文件夹,用于放置编译过后的python文件
大部分通用做法是-------------- /usr/local/------------------文件夹下新建python3.6.9文件夹
我这里为了我的要求在---------/home/lq/mytools/--------文件夹下新建python3.6.9文件夹

开始解压python压缩包
解压命令:

tar -zxvf Python-3.6.9.tgz

继续

# 进入解压后的目录
cd Python-3.6.9

# 配置python路径,大概1-3分钟
./configure --prefix=/home/lq/mytools/python3.6.9

参考参数:(多数情况prefix就够用了)
--enable-optimizations (使用这个参数会编译很久很久)
–with-ssl(遇到ssl问题使用)
# 编译,大概4-8分钟
make

# 安装,大概3-5分钟
make install

在这里插入图片描述

注意看最后一行,pip setuptools 必须要成功,才能算安装成功。

到这里,python就已经安装到linux环境中了,只是还没有调用起来。
进入设置的安装位置 /home/lq/mytools/python3.6.9
查看一些关键文件:python3.6 pip3 都在的话进行下一步
在这里插入图片描述

二,与系统环境适配

将我们新编译的python文件与linux目录用软连接的方式连接起来

目的是

让系统命令-----python3,python--------只使用我的 /home/lq/mytools/python3.6.9/bin/python3
让系统命令-----pip3,pip------------------只使用我的 /home/lq/mytools/python3.6.9/bin/pip3

sudo ln -s /home/lq/mytools/python3.6.9/bin/python3  /usr/bin/python3
sudo ln -s /home/lq/mytools/python3.6.9/bin/python3  /usr/bin/python
ls -l /usr/bin/python3 

sudo ln -s /home/lq/mytools/python3.6.9/bin/pip3 /usr/bin/pip3
sudo ln -s /usr/bin/pip3 /usr/bin/pip

OK了!

软连接这一步容易出的一些问题:

1.如何取消软连接

办法:使用命令sudo unlink name

2.软连接被占用

办法:千万不要直接删除软连接,删除软连接会把软连接对应的文件一起删除

3.想要连接的名字已经存在

办法:比如想要链接名字 python3 但是已经存在 python3 文件了。这个时候软连接就会失败。
可以把重名的原文件备份一下,为软连接名字留出位置。

三,最后一步,修改环境变量生效

在用户根目录

vi .bashrc

在文件的末尾,写入新编译的python版本路径,添加内容如下:

export PYTHON_HOME=/home/lq/mytools/python3.6.9
export PATH=$PYTHON_HOME/bin:$PATH

wq保存退出后

运行下面命令使刚才的变量生效:

 source .bashrc

四,验证

四个命令均显示自己的设置的软连接路径,说明安装成功!

xxxxxxxxxx:~ $ pip -V
pip 21.3.1 from /home/lq/mytools/python3.6.9/lib/python3.6/site-packages/pip (python 3.6)

xxxxxxxxxx:~ $ pip3 -V
pip 21.3.1 from /home/lq/mytools/python3.6.9/lib/python3.6/site-packages/pip (python 3.6)

xxxxxxxxxx:~ $ which python
/usr/bin/python

xxxxxxxxxx:~ $ which python3
/home/lq/mytools/python3.6.9/bin/python3

这一步容易出问题的地方:

我环境配置了,也软连接了,为什么 pip -v 还是以前的python版本的路径

办法:python环境配置以后,也对pip进行配置一下,运行命令:
上面123456789步骤都做好了才用这个命令。

alias pip='/home/lq/mytools/python3.6.9/bin/pip3'

尾言

python的安装完毕了,但其实这还不算结束,对于一般用户来说只是使用一下python 的基础功能,这篇博客就够用了。就算结束了。
但要自己安装的 pip 包的用户,可能会遇到一些问题(pip不能用)。我将在下一章博客中讲解如何解决pip包不能下载的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/446871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蒙层禁止页面滚动

学习链接&#xff1a;蒙层禁止页面滚动的方案 <!DOCTYPE html> <html> <head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1"><title>蒙层禁止页面滚动的方案<…

Map Reduce高级篇:Join-Reduce

Join关联操作 背景 在实际的数据库应用中&#xff0c;我们经常需要从多个数据表中读取数据&#xff0c;这时就可以使用SQL语句中的连接&#xff08;JOIN&#xff09;&#xff0c;在两个或者多个数据表中查询数据。在使用MapReduce框架进行数据查询的过程中&#xff0c;也会涉…

React Refs

React 支持一种非常特殊的属性 Ref &#xff0c;可以用来绑定到 render() 输出的任何组件上。 这个特殊的属性允许引用 render() 返回的相应的支撑实例 &#xff08; backing instance &#xff09;。这样就可以确保在任何时间总是拿到正确的实例。 使用&#xff1a; 绑定一…

Linux基础—DHCP原理与配置

Linux基础—DHCP原理与配置 一、DHCP工作原理1.了解DHCP服务使用DHCP的优势DHCP的分配方式 2.DHCP的IP地白动获取工作原理: 二、配置DHCP服务器三、DHCP场景应用实验 一、DHCP工作原理 1.了解DHCP服务 DHCP(Dynamic HostConfiguration Protocol&#xff0c;动态主机配置协议) …

网络基础入门

目录 网络存在的意义 网络发展 网络在哪里&#xff1f; 网络是分层的 理解分层 软件可以分层 网络协议栈也是层状结构 认识协议 协议是什么 协议分层 网络传输需要解决的四个问题 OSI七层模型&#xff08;了解为主&#xff09; TCP/IP五层&#xff08;或四层&…

LVS --一文精通

目录 dns解析 下一跳机制 LVS:NAT LVS: IP TUN隧道 LVS: DR DR> TUN > NAT > FULL NAT dns解析 DNS本地域名服务器&#xff0c;当用户访问一个网址&#xff0c;计算机就会提出域名解析请求&#xff0c;并发给本地域名服务器&#xff0c;本地域名服务器收到请求…

你真正了解低代码么?(国内低代码平台状况分析)

■ 写在前面■ 低代码产品如何分类&#xff0c;90% 的人都没有搞清楚■ 低代码平台如何比较&#xff1f;Point 在哪儿&#xff1f;一个比喻大家全听懂■ “拼”出来的低代码平台&#xff0c;真的好用吗&#xff1f;■ 推荐一款 C 端低代码产品 ■ 写在前面 都说技术是生产力&a…

每日一个小技巧:1分钟告诉你如何给黑白照片上色

你是否有过这样的经历&#xff1a;在家翻出爷爷奶奶的旧照片时&#xff0c;发现它们都是黑白色的&#xff0c;无法体现当时的真实色彩&#xff1f;由于一些老照片的拍摄时间较早&#xff0c;因此都是以黑白形式存在的&#xff0c;这样的照片不仅影响观感&#xff0c;还抑制了我…

SAS学习第11章:试验设计

试验设计必须遵循以下原则&#xff1a;重复、随机、局部控制。 重复即每个处理都要有至少2个试验单位&#xff0c;目的是估计试验误差&#xff0c;降低试验误差。若只有1个观测值&#xff0c;无法估计试验误差。平均数抽样误差估计值大小与重复次数的平方成反比&#xff0c;适…

Linux基础——DNS服务器原理及搭建

Linux基础——DNS服务器原理及搭建 一、DNS服务器原理1.DNS系统分布式数据结构2.DNS查询类型3.DNS服物器类型 二、搭建DNS域名解析服务器步骤1.安装bind软件包2. 查看需要修改的配置文件所在路径3. 修改主配置文件4. 修改区域配置文件&#xff0c;添加正向区域配置5.配置正向区…

量化择时——LSTM深度学习量化择时(第1部分—因子测算)

之前我们尝试使用SVM&#xff0c;将时序数据转为横截面的数据&#xff0c;使用机器学习的方法进行预测 量化择时——SVM机器学习量化择时&#xff08;第1部分—因子测算&#xff09;&#xff1a; https://blog.csdn.net/weixin_35757704/article/details/129909497 但是因为股…

轻松解决ChatGPT网络报错,畅享沟通

ChatGPT的确很不错&#xff0c;无论是在什么岗位&#xff0c;使用它都可以让工作的你提升效率&#xff0c;可是我们经常会遇到一个神奇的网络报错&#xff08;当我们一会不使用就来个这样的效果提示&#xff09;&#xff0c;是不是头大&#xff1f; 好了&#xff0c;开始进入正…

实验二:华为云ModelArts订阅口罩检测模型

华为云ModelArts订阅口罩检测模型 1、通过实验提示的网址进入口罩检测模型&#xff1b;拖动窗口找到并点击订阅按钮&#xff1b;勾选温馨提示中复选框内容&#xff1b; 2、点击红色“前往控制台”按钮&#xff0c;选择华北-北京四&#xff0c;并确定&#xff1b; 3、等待同步完…

Jakarta EE - Java EE的又一个名字

Jakarta EE并不是新技术&#xff0c;他的前身就是大家熟悉的Java EE&#xff0c;老一辈的程序员可能还记得J2EE&#xff0c;是的&#xff0c;他们都是同一个东西&#xff0c;至于为什么会改来改去&#xff0c;这里面就有很多故事了。 1998年12月&#xff0c;SUN公司发布了JDK1…

PySide6/PyQT多线程之 线程锁/线程安全

前言 PySide6/PyQT多线程同时访问同一个共享资源或对象&#xff0c;程序可能会出现预期之外的结果。所以需要考虑线程安全问题。 使用PySide6/PyQT开发GUI应用程序&#xff0c;在多个线程同时访问同一个共享对象时候&#xff0c;如果没有进行同步处理那就可能会导致数据不一致或…

HTML5 <q> 标签、HTML5 <rp> 标签

HTML5 <q> 标签 实例 HTML5 <q>标签用于定义一个短引用。请参考一下内容&#xff1a; 标记一个短的引用&#xff1a; <p>WWFs goal is to: <q>Build a future where people live in harmony with nature.</q> We hope they succeed.</p&g…

019:Mapbox GL加载天地图(影像瓦片图)

第019个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中加载天地图(影像瓦片图)。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共80行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:h…

2023年定向增发研究报告

第一章 行业概况 定向增发是增发的一种&#xff0c;是指上市公司向符合条件的少数特定投资者非公开发行股份的行为&#xff0c;有时也称“定向募集”或“私募”。定向增发的发行价格由参与增发的投资者竞价决定&#xff0c;发行程序与公开增发相比较为灵活。一般认为&#xff…

中国地图标准坐标和投影参数

目录 一、地理坐标 二、投影坐标 三、ArcGIS投影变换 四、说明 一、地理坐标 GCS_Krasovsky_1940&#xff08;克拉索夫斯基_1940椭球体&#xff09; 具体参数如下图&#xff1a; 每个国家或地区都有各自的基准面&#xff0c;我们通常所说的北京54坐标系、西安80坐标系实际上…

天梯赛练习题集

L2-005 集合相似度 find函数&#xff0c;Nt用集合关系求 #include <bits/stdc.h> #define ios ios::sync_with_stdio(0),cin.tie(0) #define PII pair<int,int> typedef long long ll; const int N1e610; const int inf0x3f3f3f3f;using namespace std; int n,k;…