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


安装完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,

使用指令which python查询发现确实是用的conda的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 多版本管理:
参考教程:
- ubuntu20.04配置ros noetic和cuda,cudnn,anaconda,pytorch深度学习的环境
- ubuntu下系统python与anaconda下python
- ubuntu20安装python2, python3及版本配置
- 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
参考链接:
- 【Ubuntu系统配置】005Ubuntu20.04安装Anaconda3与Pycharm
- 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的完美配合
相关文章:
ubuntu 20.04安装 Anaconda教程
在安装Anaconda之前需要先安装ros(防止跟conda冲突,先装ros)。提前安装好cuda 和cudnn。 本博客参考:ubuntu20.04配置ros noetic和cuda,cudnn,anaconda,pytorch深度学习的环境 安装完conda后,输入: pyth…...
iframe渲染后端接口文件和实现下载功能
一:什么是iframe? 1、介绍 iframe 是HTML 中的一种标签,全称为 Inline Frame,即内联框架。它可以在网页中嵌入其他页面或文档,将其他页面的内容以框架的形式展示在当前页面中。iframe的使用方式是通过在HTML文档中插入…...
广西建筑工地模板:支模九层桉木模板
广西作为中国西南地区的重要建筑市场,建设工地的模板需求量一直居高不下。在众多建筑模板中,支模九层桉木模板以其强度高、使用寿命长的特点而备受关注。本文将介绍广西建筑工地常用的支模九层桉木模板,并探讨其在建筑施工中的应用优势。支模…...
java集合,栈
只有栈是类 列表是个接口 栈是个类 队列 接口有双链表,优先队列(堆) add会报错 offer是一个满了不会报错 set集合 有两个类实现了这个接口...
Ubuntu 20.04 LTS ffmpeg gif mp4 互转 许编译安装ffmpeg ;解决gif转mp4转换后无法播放问题
安装ffmpeg apt install ffmpeg -y gif转mp4 ffmpeg -f gif -i ldh.gif ldh.mp4 故障:生成没报错,但mp4无法播放,体积也不正常 尝试编译安装最新版 sudo apt install -y yasm axel -n 100 https://ffmpeg.org/releases/ffmpeg-6.0.1.tar.x…...
【Nginx】使用nginx进行反向代理与负载均衡
使用场景 反向代理:一个网站由许多服务器承载的,网站只暴露一个域名,那么这个域名指向一个代理服务器ip,然后由这台代理服务器转发请求到网站负载的多台服务器中的一台处理。这就需要用到Nginx的反向代理实现了 负载均衡…...
基于IDEA 进行Maven依赖管理
1. 依赖管理概念 Maven 依赖管理是 Maven 软件中最重要的功能之一。Maven 的依赖管理能够帮助开发人员自动解决软件包依赖问题,使得开发人员能够轻松地将其他开发人员开发的模块或第三方框架集成到自己的应用程序或模块中,避免出现版本冲突和依赖缺失等…...
瑞萨RZ/G2L平台 初起动(SD卡启动)
文章目录 一 准备条件1 工具2 硬件3 镜像 二 烧录SD卡启动盘三 写Bootloader1 烧录文件2 启动烧录3 烧录 四 启动设置 一 准备条件 1 工具 ** BalenaEtcher(俗称“ Etcher”),是一款快速将系统镜像文件( .iso 或 .img 或 .zip或…...
chkconfig及服务脚本
运行级别 linux启动之后处于某个状态 linux运行级别 0:关机 #设置即重启 1:单用户,为root权限,禁止远程登录 2:无网络文本模式 3:多用户文本模式 4:未使用 5:图形化…...
[Android] libcutils - native 获取/设置 property
前言: Android 的property系统类似于linux的环境变量,但是更加精细。可以通过adb 设置和读取 property,同时也可以在代码 (JAVA/C/C) 中设置和获取属性。这有助于我们在运行时控制代码执行逻辑。比如打开 测试开关 或者 dump源数据文件。 工…...
Matlab 方位角计算之二
文章目录 一、简介二、实现代码三、实现效果一、简介 我们总是说降维打击,这种思路尤其在一些问题上显现的尤为突出,就比如方位角这个问题,如果我们局限于二维这个空间,那么很多时候就需要判断方向向量落在了那个象限,之后再一个个情况逐一分析,虽然这样做并不复杂,但总…...
Postman工具简介
介绍 Postman是一个商业的接口测试工具。免费的版本也可以使用不少功能。 官网:https://www.postman.com/ 下载、安装、应用界面 下载 安装、安装成功以后的应用界面 双击下载下来的可执行文件进行安装,出现如下界面: 可以注册一个账…...
2023.11.17 -hivesql调优,数据压缩,数据存储
目录 1.hive命令和参数配置 2.hive数据压缩 3.hive数据存储 0.原文件大小 18.1MB 1.textfile行存储格式, 压缩后size:18MB 2.行存储格式:squencefile ,压缩后大小8.89MB 3. 列存储格式 orc - ZILIB ,压缩后大小2.78MB 4.列存储格式 orc-snappy ,压缩后大小3.75MB 5…...
基于Vue+SpringBoot的大学计算机课程管理平台 开源项目
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 实验课程档案模块2.2 实验资源模块2.3 学生实验模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 实验课程档案表3.2.2 实验资源表3.2.3 学生实验表 四、系统展示五、核心代码5.1 一键生成实验5.2 提交实验5.3 批阅实…...
2.c++基础语法
文章目录 1.c 程序结构关键字标识符、操作符、标点预处理指令注释main 主函数命名空间 2.c 变量和常量变量 3.c 数组和容器4.c 程序流程5.c字符和字符串 1.c 程序结构 关键字 关键字事程序保留的,程序员不能使用,c的常见关键字如下图: 标识…...
applicationContext.getBean 为null
场景: 使用SpringUtils 添加了统一类的调用。单元测试是正常的。 SpringUtils public class SpringUtils implements ApplicationContextAware {private static ApplicationContext applicationContext;Overridepublic void setApplicationContext(Nonnull Applica…...
无线WiFi安全渗透与攻防(六)之WEP破解-Gerix-wifi-cracker自动化破解WEP加密
WEP破解-Gerix-wifi-cracker自动化破解WEP加密 WEP破解-Gerix-wifi-cracker自动化破解WEP加密1.环境准备1.软件和kali2.下载软件,下载地址3.将软件复制到kali,解压4.进入软件目录2.破解步骤1.启动gerix-wifi-cracker-2-master软件2.设置无线网卡位Monitor Mode模式3.重新扫描…...
华为OD机试 - 环中最长子串(Java JS Python C)
题目描述 给你一个字符串 s,首尾相连成一个环形,请你在环中找出 o 字符出现了偶数次最长子字符串的长度。 输入描述 输入是一个小写字母组成的字符串 输出描述 输出是一个整数 备注 1 ≤ s.length ≤ 500000s 只包含小写英文字母用例 输入alolobo输出6说明最长子字符串之一…...
bug-跨域访问问题
问题场景 自定义 header,导致跨域问题 一个大屏项目,设置请求接口获取数据时,有的接口能够正常返回数据,有的接口提示跨域(接口域名不同),后端也进行支持跨域设置,结果还是提示跨域…...
Babyk勒索病毒数据集恢复,计算机服务器中了babyk勒索病毒怎么办?
计算机网络技术的不断应用,为企业的生产运营提供了极大便利,网络技术的不断发展也带来了许多网络安全隐患,近期,云天数据恢复中心陆续接到许多企业的求助,企业的计算机服务器遭到了babyk勒索病毒的攻击,导致…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
