ubuntu 20.04安装 Anaconda教程

在安装Anaconda之前需要先安装ros(防止跟conda冲突,先装ros)。提前安装好cuda 和cudnn。
本博客参考:ubuntu20.04配置ros noetic和cuda,cudnn,anaconda,pytorch深度学习的环境
安装位置
conda安装完成

安装完conda后,输入:

python

查询结果为:

Python 3.11.5 (main, Sep 11 2023, 13:54:46) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

也就是系统默认python版本为anaconda下的python,
python版本查询

使用指令which python查询发现确实是用的conda的python.
查询python 路径
python版本查询
使用指令

whereis python

查询结果为:

python: /usr/bin/python2.7 /usr/bin/python3.8-config /usr/bin/python3.8 /usr/lib/python2.7 /usr/lib/python3.9 /usr/lib/python3.8 /etc/python2.7 /etc/python3.8 /usr/local/lib/python2.7 /usr/local/lib/python3.8 /usr/include/python2.7 /usr/include/python3.8d /usr/include/python3.8 /usr/share/python /home/xiujie/anaconda3/bin/python3.1 /home/xiujie/anaconda3/bin/python3.11-config /home/xiujie/anaconda3/bin/python /home/xiujie/anaconda3/bin/python3.11

由于ros 用的是系统默认的python3.8,因此如果不更改python 指向,会导致ros启动失败。
使用指令查询当前环境变量path都有哪些参数:

echo $PATH

显示结果为:

/home/xiujie/anaconda3/bin:/opt/ros/noetic/bin:/home/xiujie/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda/bin:/usr/local/cuda/bin

/home/xiujie/anaconda3/bin是因为本人添加过环境变量,后续发现可以不用添加该路径进环境变量。
python 多版本管理:
参考教程:

  1. ubuntu20.04配置ros noetic和cuda,cudnn,anaconda,pytorch深度学习的环境
  2. ubuntu下系统python与anaconda下python
  3. ubuntu20安装python2, python3及版本配置
  4. ubuntu如何查找python安装目录

使用以下命令设置多版本管理优先级,注意路径为上述whereis指令查到的路径,务必要正确,设置系统python3.8为默认版本:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 40
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 30
sudo update-alternatives --install /usr/bin/python python /home/xiujie/anaconda3/bin/python 20
python --version    # 查看当前默认版本
update-alternatives --list python  # 显示python代替版本信息
update-alternatives --config python  # 手动切换python默认版本

设置版本管理
数值越大,优先级越高。使用pdate-alternatives --config python 指令配置版本优先级
在这里插入图片描述
设置完成后另外开一个新的终端使用指令查询,证明已经修改回3.8版本,但是这会导致conda启动不了
更改结果

使用指令sudo gedit ~/.bashrc设置:
在bashrc文件最低端添加下列指令。其中/home/--------的四段绿色指令为每台主机存放conda,conda.sh,bin文件的地址。记得输入正确。

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/linuxize/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; theneval "$__conda_setup"
elseif [ -f "/home/linuxize/anaconda3/etc/profile.d/conda.sh" ]; then. "/home/linuxize/anaconda3/etc/profile.d/conda.sh"elseexport PATH="/home/linuxize/anaconda3/bin:$PATH"fi
fi
unset __conda_setup
# <<< conda initialize <<<

运行指令:source ~/.bashrc
另外打开新的终端:
输入指令:

source ~/anaconda3/bin/activate

python

进行启动,启动指令变为由source 指定路径进行启动,不能执行默认的conda activate 启动了。
ubuntu20.04配置ros noetic和cuda,cudnn,anaconda,pytorch深度学习的环境中给出了解决办法,但是我不推荐这种方法,后续可以继续修改为直接用conda默认指令启动

运行结果
为了避免冲突,需把conda设置为默认关闭。

# added by Anaconda3 5.3.1 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!__conda_setup="$(CONDA_REPORT_ERRORS=false '/home/zrh/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then\eval "$__conda_setup"
elseif [ -f "/home/zrh/anaconda3/etc/profile.d/conda.sh" ]; then. "/home/zrh/anaconda3/etc/profile.d/conda.sh"CONDA_CHANGEPS1=false conda activate baseelse\export PATH="/home/zrh/anaconda3/bin:$PATH"fi
fi
unset __conda_setupconda deactivate
# <<< conda init <<<

设置完后,新开一个终端,发现正常使用,如果使用conda,conda activate等指令可以正常使用,参考链接:Ubuntu20.04中安装anaconda后与ros依赖python版本冲突
查询
至此conda安装导致的python版本冲突问题就完美解决了。
接下来就可以愉快的pytorch了。
虚拟环境中安装pytorch可以参考这个链接:GPU版本pytorch(Cuda12.1)清华源快速安装一步一步教!小白教学~
本人安装的是1.12.1,具体版本需要根据自己cuda版本去查。

pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html

安装Pycharm

参考链接:

  1. 【Ubuntu系统配置】005Ubuntu20.04安装Anaconda3与Pycharm
  2. Ubuntu20.04手动安装PyCharm
    本文安装完成后设置了软连接:
sudo ln -s /home/xiujie/pycharm-2023.2.5/bin/pycharm.sh /usr/local/bin/pycharm
sudo chmod +x /usr/local/bin/pycharm

注意,这里一定要用完整路径,否则会出现如下错误(注意替换为自己的安装路径):

chmod: cannot operate on dangling symlink ‘/usr/local/bin/pycharm’

启动PyCharm。在终端中输入pycharm命令即可:

pycharm

如果希望以非交互模式启动PyCharm,请在命令中添加 -n 参数

pycharm -n

这样,就可以通过 pycharm 命令启动PyCharm,而无需进入特定的目录并运行 pycharm.sh 脚本。
在进行完这步操作后,本文还将图标添加。点击pycharm右下方设置图标,选择create desktop entry, 创建桌面图标。
添加桌面图标

关联anaconda的Python解释器:
参考:Python环境配置系列—第二篇:Pycharm与Anaconda的完美配合

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

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

相关文章

Mysql -常见函数

目录 字符串函数 数值函数 日期函数 流程函数 字符串函数 -- 拼接 SELECT CONCAT(Hello, World); -- 小写 SELECT LOWER(Hello); -- 大写 SELECT UPPER(Hello); -- 左填充 SELECT LPAD(01, 5, -); -- 右填充 SELECT RPAD(01, 5, -); -- 去除空格 SELECT TRIM( Hello World )…

C语言循环结构 while循环

while循环 while循环语句概述while循环输出20个数while循环注意事项 while循环语句概述 作用&#xff1a;满足循环条件&#xff0c;执行循环语句 语法&#xff1a;while(循环条件){ 循环语句 } 解释&#xff1a;只要循环条件的结果为真&#xff0c;就执行循环语句 while循环输…

Flume学习笔记(2)—— Flume进阶

Flume进阶 Flume 事务 事务处理流程如下&#xff1a; Put doPut&#xff1a;将批数据先写入临时缓冲区putListdoCommit&#xff1a;检查channel内存队列是否足够合并。doRollback&#xff1a;channel内存队列空间不足&#xff0c;回滚数据 Take doTake&#xff1a;将数据取…

Object常用方法——clone()

clone() 方法是Object类中定义的一个方法&#xff0c;用于创建并返回一个对象的拷贝。但是&#xff0c;需要注意的是&#xff0c;clone() 方法是浅拷贝&#xff0c;即它只会复制对象的字段值&#xff0c;而不会复制对象引用的其他对象。 要使用clone()方法&#xff0c;需要满足…

数学建模 | 灰色预测原理及python实现

目录 一、灰色预测的原理 二、灰色预测的应用及python实现 一、灰色预测的原理 灰色预测是以灰色模型为基础&#xff0c;灰色模型GM(n,h)是微分方程模型&#xff0c;可用于描述对象做长期、连续、动态的反应。其中&#xff0c;n代表微分方程式的阶数&#xff0c;h代表微分方…

Spring Framework IOC依赖查找 - 按名称查找解析

IoC按名称查找共分为三类&#xff1a; 按名称按类型按集合 按名称查找 在Spring Framework中&#xff0c;实时加载和延迟加载是指在容器启动时是否立即实例化bean的不同策略。下面我们将分别介绍这两种加载方式及其应用场景。 tips: 当涉及到懒加载和延时加载时&#xff0…

windows排除故障工具pathping、MTR、sysinternals

pathping 基本上可以认为它是ping和tracert的功能合体。 pathping首先对目标执行tracert&#xff0c;然后使用ICMP对每一跳进行100次ping操作。 如图&#xff0c;是一个对8.8.8.8进行pathing操作。 MTR MTR是另一个多工具合体工具。 winmtr是mtr的windows版本。 这个工具…

vscode设置latex

vscode配置latex 1.安装vscode,并添加环境变量路径 2.安装latex,bin文件夹添加到环境变量路径 3.vscode安装插件 4.vscode->文件->首选项->显示配置内容->setting.json文件&#xff0c;查看其位置目录&#xff0c;通过我的电脑找到此文件&#xff08;不要使用v…

OpenCV快速入门:图像形态学操作

文章目录 前言一、图像形态学基础1.1 背景介绍1.2 像素距离1.2.1 什么是像素距离&#xff1f;1.2.2 常见的像素距离度量方法1.2.3 计算像素距离的代码实现 1.3 图像连通性1.3.1 什么是图像连通性&#xff1f;1.3.2 连通类型1.3.3 连通组件标记1.3.4 连通性在图像处理中的应用 1…

国产化项目改造:使用达梦数据库和东方通组件部署,前后端分离框架

前提&#xff1a;前后端分离前后端包都要用war包。 1、springboot后端改变war包 pom文件添加 <packaging>war</packaging>添加依赖&#xff0c;并且支持tomcat<!-- war包 --><dependency><groupId>org.springframework.boot</groupId><…

当前主流DDos方式有哪几类

随着互联网的普及和技术的进步&#xff0c;网络安全问题日益凸显。DDoS攻击作为其中一种常见且具破坏性的攻击方式&#xff0c;受到了广泛关注。小德将带领大家一起来了解当前流行的三种DDoS攻击方式。 1. 容量耗尽攻击 容量耗尽攻击是最常见也是最直接的DDoS攻击方式。攻击者通…

MATLAB程序设计:QL方法分解矩阵

clc;clear;close all; A[8, 0, 00, 7,-10,-1, 2];[Q,L] ql_decomposition(A); disp([Q,L]); function [Q,L] ql_decomposition(A)n size(A,1);% 初始化 Q 为单位矩阵Q eye(n);% 初始化 L 为零矩阵L zeros(n); flag1; while(flag) % 在矩阵 A 上应用 Givens 旋转for …

在 el-table 中嵌入 el-checkbox el-input el-upload 多组件,实现复杂业务场景

由于业务场景的复杂性&#xff0c;需实现&#xff1a;在 el-table 表格中 嵌入 el-checkbox 多选框 及 el-input 输入框 及 el-upload 上传组件 &#xff0c;先附上实现效果图。 从图片可以看出其实就是一个规格可以带有多个属性的规格表&#xff0c;实现此效果需涉及到的知识点…

C#每天复习一个重要小知识day2:有参与无参构造函数

using System;public class MyClass {private int value;// 有参构造函数public MyClass(int v){this.value v;}// 无参构造函数public MyClass(){this.value 0;}public static void Main(string[] args){// 使用有参构造函数实例化对象MyClass obj1 new MyClass(10);Consol…

【机器学习基础】对数几率回归(logistic回归)

&#x1f680;个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; &#x1f4a1;专栏&#xff1a;机器学习 欢迎订阅&#xff01;后面的内容会越来越有意思~ &#x1f4a1;往期推荐&#xff1a; 【机器学习基础】机器学习入门&#xff08;1&#xff09; 【机器学习基…

ADS村田电感.mod(spice netlist文件)和.s2p模型导入与区别

ADS村田电感.mod&#xff08;spice netlist文件&#xff09;和.s2p模型导入与区别 简介环境过程s2pspice netlist&#xff08;.mod文件&#xff09;导入和结果对比 简介 记录了ADS村田电感.mod&#xff08;spice netlist文件&#xff09;和.s2p模型导入与区别 环境 ADS2020 …

什么是UV贴图?

UV 是与几何图形的顶点信息相对应的二维纹理坐标。UV 至关重要&#xff0c;因为它们提供了表面网格与图像纹理如何应用于该表面之间的联系。它们基本上是控制纹理上哪些像素对应于 3D 网格上的哪个顶点的标记点。它们在雕刻中也很重要。 为什么UV映射很重要&#xff1f; 默认情…

opencv(2): 视频采集和录制

视频采集 相关API VideoCapture()cap.read()&#xff1a; 返回两个值&#xff0c;第一个参数&#xff0c;如果读到frame&#xff0c;返回 True. 第二个参数为相应的图像帧。cap.release() VideoCapture cv2.VideoCapture(0) 0 表示自动检测&#xff0c;如果在笔记本上运行&…

IntelliJ IDEA插件开发入门实战

介绍 IntelliJ IDEA是备受赞誉的Java开发工具&#xff0c;提供了丰富的功能和工具。通过使用插件&#xff0c;可以扩展和增强这个集成开发环境。IntelliJ IDEA拥有庞大的插件生态系统&#xff0c;涵盖了代码分析、格式化工具和完整的框架等各个领域。开发人员还可以创建自己的…

助力水泥基建裂痕自动化巡检,基于yolov5融合ASPP开发构建多尺度融合目标检测识别系统

道路场景下的自动化智能巡检、洞体场景下的壁体类建筑缺陷自动检测识别等等已经在现实生活中不断地落地应用了&#xff0c;在我们之前的很多博文中也已经有过很多相关的实践项目经历了&#xff0c;本文的核心目的是想要融合多尺度感受野技术到yolov5模型中以期在较低参数量的情…