Anaconda在Ubuntu下的安装与简单使用

一、参考资料

ubuntu16.04下安装&配置anaconda+tensorflow新手教程

二、安装Anaconda

  1. 下载 Miniconda镜像1 or Miniconda镜像2

    # 下载
    wget Miniconda3-py39_4.10.3-Linux-x86_64.sh# 安装
    bash Miniconda3-py39_4.10.3-Linux-x86_64.sh
    

    一路yes

  2. 安装过程中的选项

    Do you accept the license terms? [yes|no]
    >>> yesAnaconda3 will now be installed into this location:
    /home/yichao/anaconda3
    >>> 回车If you'd prefer that conda's base environment not be activated on startup, set the auto_activate_base parameter to false: conda config --set auto_activate_base false
    
  3. 取消base为默认虚拟环境

    conda config --set auto_activate_base false
    
  4. 设置环境变量
    如果自动设置环境变量,则需要手动设置环境变量。

    vim ~/.bashrc# 添加下面两行
    export PATH="/home/username/miniconda3/bin:$PATH"
    export PATH="/home/username/miniconda3/condabin:$PATH"# 重新加载当前用户配置文件
    source ~/.bashrc
    
  5. Anaconda换源

    Anaconda换源
    anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror!

    sudo gedit ~/.condarc# 清空缓存
    conda clean -i# 安装测试
    conda create -n myenv numpy
    
    channels:- defaults
    show_channel_urls: true
    default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
    custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    
  6. 切换Python版本

    # 打开配置文件
    vim ~/.bashrc# 添加配置
    alias python="/usr/bin/python"
    alias python3="/usr/local/bin/python3"
    alias pyana="/home/yoyo/anaconda3/bin/python3"# 更新配置
    source ~/.bashrc
    
  7. 卸载Anaconda

    # 删除anaconda相关文件夹
    rm -rf ~/miniconda3
    rm -rf ~/anaconda3
    rm -rf ~/.conda
    rm -rf ~/.condarc
    rm -rf ~/.anaconda# 删除环境变量
    # 删除关于conda部分的环境变量
    vi ~/.bashrc# 更新环境变量
    source ~/.bashrc
    

三、Anaconda的常用指令

# 1. 创建虚拟环境
conda create -n your_env_name python=X.X(2.7、3.6等)# 1.1 在指定的位置创建虚拟环境
conda create -p /PATH/TO/path# 查看所有的conda虚拟环境
conda env list   # 2. 激活虚拟环境
source activate your_env_name(虚拟环境名称)# 3. 退出虚拟环境
source deactivate your_env_name(虚拟环境名称)# 4. 删除虚拟环境
conda remove -n your_env_name(虚拟环境名称) --all# 5. 安装包
conda install package_name(包名)
conda install scrapy==1.3 # 安装指定版本的包
conda install -n 环境名 包名 # 在conda指定的某个环境中安装包# 6. 跳过安装失败的包,继续安装
conda方式
while read requirement; do conda install --yes $requirement; done < requirements.txtpip方式
while read requirement; do conda install --yes $requirement || pip install $requirement; done < requirements.txt
  1. 查看

    # 1. 查看安装了哪些包
    conda list# 2. 查看conda配置
    conda config --show# 3. 查看当前存在哪些虚拟环境
    conda env list 
    或 conda info -e
    或 conda info --envs
    
  2. 更新

    # 1. 检查更新当前conda
    conda update conda# 2. 更新anaconda
    conda update anaconda# 3. 更新所有库
    conda update --all# 4. 更新python
    conda update python
    
  3. 清理conda缓存(conda报错segment fault的时候就是需要清理缓存哦)

    conda clean -p      //删除没有用的包
    conda clean -t      //删除tar包
    conda clean -y --all //删除所有的安装包及cache
    

四、Anaconda的使用技巧

conda环境的复制(生成.yaml文件)和pip环境的复制(生成requirements.txt)

  1. 克隆环境

    # 克隆一个BBB,环境和Tensorflow一样
    conda create -n BBB --clone Tensorflow 
    
  2. 克隆环境(跨计算机)

    # 跨计算机克隆
    # 目标计算机的环境目录 /PATH/TO/home/yoyo/miniconda3/envs/monodepth2-gpu 
    conda create -n BBB --clone /PATH/TO/home/yoyo/miniconda3/envs/monodepth2-gpu 
    
  3. 导入/导出环境

    # 导出环境到yaml文件
    conda env export > env.yaml# 根据yaml文件复现环境
    conda env create -f env.yaml
    

注意.yaml 文件移植过来的环境只安装了原来环境里用 conda install 等命令直接安装的包,使用pip安装的软件包没有移植过来,需要重新安装。

# 导出安装包
pip freeze > requirements.txt# 安装
pip install -r requirements.txt 
或者
conda install --yes --file requirements.txt
  1. 打包/解包(跨计算机)

    # 将环境打包
    tar cvf monodepth2-gpu.tar envirement# monodepth2-gpu.tar文件,通过http、ssh等方式拷贝到目标计算机
    rsync -rzP */envirement.tar /home/yoyo/anaconda3/envs# 解包
    tar xvf monodepth2-gpu.tar# 修改conda的环境配置文件 ~/.conda/envirement.txt,在尾部添加拷贝的环境目录
    /home/yoyo/miniconda3/envs/monodepth2-gpu
    
  2. 搜索包

    # 在anaconda官方仓库中搜索包(可能失效)
    anaconda search tensorflow-gpu -t conda  #搜包[tensorflow-gpu]# 在清华源镜像中搜索包
    conda search tensorflow-gpu# 模糊查询
    conda search *scikit*
    或者
    conda search '*scikit*'# 显示包详细信息(可能失效)
    anaconda show aaronszs/tensorflow-gpu  #查询第二条[aaronszs/tensorflow-gpu]
    
    # 启动Anaconda Navigator 图形化界面
    anaconda-navigator# 导入anaconda所有库
    conda install anaconda
    

五、FAQ

anaconda 环境新建/删除/拷贝 jupyter notebook上使用python虚拟环境 TensorFlow

Anaconda 换国内源、删源最全集锦

在anaconda中安装不存在的python包并安装到指定环境中

【转】conda install和创建虚拟环境下载慢 pip下载慢 有用

TensorFlow+Faster-RCNN+Ubuntu 环境配置&代码运行过程

Q:根据yaml文件复现环境错误

Collecting package metadata (repodata.json): done
Solving environment: failedResolvePackageNotFound: - wincertstore==0.2=py36h7fe50ca_0- jbig==2.1=h8d14728_2003- libdeflate==1.7=h8ffe710_5- zstd==1.5.0=h6255e5f_0- lz4-c==1.9.3=h8ffe710_1- lerc==2.2.1=h0e60522_0- libtiff==4.3.0=h0c97f57_1- jpeg==9d=h8ffe710_0- mkl==2021.3.0=hb70f87d_564- setuptools==52.0.0=py36haa95532_0- tbb==2021.3.0=h2d74725_0- certifi==2021.5.30=py36haa95532_0- vc==14.2=h21ff451_1- python==3.6.6=hea74fb7_0- zlib==1.2.11=h62dcd97_1010- numpy==1.19.5=py36h4b40d73_2- pip==21.2.2=py36haa95532_0- libpng==1.6.37=h1d00b33_2- opencv==3.3.1=py36h20b85fd_1- vs2015_runtime==14.27.29016=h5e58377_2- intel-openmp==2021.3.0=h57928b3_3372- xz==5.2.5=h62dcd97_1

Q:根据yaml文件复现环境错误

Collecting package metadata (repodata.json): done
Solving environment: failedResolvePackageNotFound: - wincertstore=0.2- vc=14.2- vs2015_runtime=14.27.29016
# 错误原因
找不到相关的包# 解决办法
注释对应的行

Q:NotWritableError: The current user does not have write permissions to a required path.

conda创建环境时报错:NotWritableError: The current user does not have write permissions to a required path.

tx2@tx2:~$ conda create -n efficientdet python=3.7
Solving environment: failedNotWritableError: The current user does not have write permissions to a required path.path: /home/tx2/archiconda3/pkgs/urls.txtuid: 1000gid: 1000If you feel that permissions on this path are set incorrectly, you can manually
change them by executing$ sudo chown 1000:1000 /home/tx2/archiconda3/pkgs/urls.txtIn general, it's not advisable to use 'sudo conda'.‵
# 错误原因
用户没有对anaconda3文件夹的读写权限,造成其原因可能是由于在安装anaconda时使用了管理员权限。# 解决办法
cd /home/tx2
sudo chown tx2:tx2 -R archiconda3

Q:subprocess.CalledProcessError: Command 'lsb_release -a' returned non-zero exit status 1.

subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status 1.

(mslite) liulinjun@LAPTOP-4DTD5D42:~/MyDocuments/mindspore$ conda info --envs# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<Traceback (most recent call last):File "/home/liulinjun/miniconda3/lib/python3.9/site-packages/conda/exceptions.py", line 1079, in __call__return func(*args, **kwargs)File "/home/liulinjun/miniconda3/lib/python3.9/site-packages/conda/cli/main.py", line 84, in _mainexit_code = do_call(args, p)File "/home/liulinjun/miniconda3/lib/python3.9/site-packages/conda/cli/conda_argparse.py", line 83, in do_callreturn getattr(module, func_name)(args, parser)File "/home/liulinjun/miniconda3/lib/python3.9/site-packages/conda/cli/main_info.py", line 316, in executeinfo_dict = get_info_dict(args.system)File "/home/liulinjun/miniconda3/lib/python3.9/site-packages/conda/cli/main_info.py", line 135, in get_info_dict_supplement_index_with_system(virtual_pkg_index)File "/home/liulinjun/miniconda3/lib/python3.9/site-packages/conda/core/index.py", line 163, in _supplement_index_with_systemdist_name, dist_version = context.os_distribution_name_versionFile "/home/liulinjun/miniconda3/lib/python3.9/site-packages/conda/_vendor/auxlib/decorators.py", line 268, in new_fgetcache[inner_attname] = func(self)File "/home/liulinjun/miniconda3/lib/python3.9/site-packages/conda/base/context.py", line 786, in os_distribution_name_versionfrom .._vendor.distro import id, versionFile "/home/liulinjun/miniconda3/lib/python3.9/site-packages/conda/_vendor/distro.py", line 1084, in <module>_distro = LinuxDistribution()File "/home/liulinjun/miniconda3/lib/python3.9/site-packages/conda/_vendor/distro.py", line 599, in __init__self._lsb_release_info = self._get_lsb_release_info() \File "/home/liulinjun/miniconda3/lib/python3.9/site-packages/conda/_vendor/distro.py", line 943, in _get_lsb_release_inforaise subprocess.CalledProcessError(code, cmd, stdout, stderr)subprocess.CalledProcessError: Command 'lsb_release -a' returned non-zero exit status 1.`$ /home/liulinjun/miniconda3/bin/conda info --envs`An unexpected error has occurred. Conda has prepared the above report.If submitted, this report will be used by core maintainers to improve
future releases of conda.
Would you like conda to send this report to the core maintainers?[y/N]: NNo report sent. To permanently opt-out, use$ conda config --set report_errors false
File "/root/miniconda3/lib/python3.9/site-packages/conda/_vendor/distro.py", line 943, in _get_lsb_release_inforaise subprocess.CalledProcessError(code, cmd, stdout, stderr)subprocess.CalledProcessError: Command 'lsb_release -a' returned non-zero exit status 1.`$ /root/miniconda3/bin/conda info --envs`An unexpected error has occurred. Conda has prepared the above report.If submitted, this report will be used by core maintainers to improve
future releases of conda.
# 解决方法一
find / -name lsb_releasemv /usr/bin/lsb_release /usr/bin/lsb_release.bak
或者
rm -rf /usr/bin/lsb_release# 解决方法二
如果方法一无法解决,可尝试方法二。
conda config --set report_errors false

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

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

相关文章

做一个后台项目的架构

后台架构的11个维度 架构1&#xff1a;团队协助基础工具链的选型和培训架构2&#xff1a;搭建微服务开发基础设施架构3&#xff1a;选择合适的RPC框架架构4&#xff1a;选择和搭建高可用的注册中心架构5&#xff1a;选择和搭建高可用的配置中心架构6&#xff1a;选择和搭建高性…

Hudi-ubuntu环境搭建

hudi-ubuntu环境搭建 运行 1.编译Hudi #1.把maven安装包上传到服务器 # 官网下载安装包 https://archive.apache.org/dist/maven/maven-3/ scp -r D:\Users\zh\Desktop\Hudi\compressedPackage\apache-maven-3.6.3-bin.tar.gz zhangheng10.8.4.212:/home/zhangheng/hudi/com…

Spring+SpringMVC的知识总结

一:技术体系架构二:SpringFramework介绍三:Spring loC容器和核心概念3.1 组件和组件管理的概念3.1.1什么是组件:3.1.2:我们的期待3.1.3Spring充当组件管理角色(IOC)3.1.4 Spring优势3.2 Spring Ioc容器和容器实现3.2.1普通和复杂容器3.2.2 SpringIOC的容器介绍3.2.3 Spring IOC…

字符串常量池(StringTable)

目录 String的基本特性 String的内存分配 字符串拼接操作 intern()的使用 String的基本特性 String&#xff1a;字符串&#xff0c;使用一对""引起来表示 String声明为final的&#xff0c;不可被继承 String实现了Serializable接口&#xff1a;表示字符串是支持…

考试酷基本功修炼课学习历程_FPGA成长篇

本文为明德扬原创文章&#xff0c;转载请注明出处&#xff01;作者&#xff1a;明德扬学员&#xff1a;考试酷账号&#xff1a;11167760 我是硬件工程师&#xff0c;日常工作中主要跟数字电路、模拟电路、嵌入式系统打交道&#xff0c;当然也会涉及到FPGA&#xff0c;但是苦于…

排序算法-基数排序

基数排序是一种非比较排序算法&#xff0c;它将待排序的数字按照位数进行排序。基数排序的思想是先按照个位数进行排序&#xff0c;然后按照十位数进行排序&#xff0c;接着按照百位数进行排序&#xff0c;以此类推&#xff0c;直到最高位排序完成。 基数排序的步骤如下&#x…

设计模式代码实战-桥接模式

1、问题描述 小明家有一个万能遥控器&#xff0c;能够支持多个品牌的电视。每个电视可以执行开机、关机和切换频道的操作&#xff0c;请你使用桥接模式模拟这个操作。 输入示例 6 0 2 1 2 0 4 0 3 1 4 1 3 输出示例 Sony TV is ON TCL TV is ON Switching Sony TV channel S…

【菜狗学前端】原生Ajax笔记(包含原生ajax的get/post传参方式、返回数据等)

这回图片少&#xff0c;给手动替换了~祝看得愉快&#xff0c;学的顺畅&#xff01;哈哈 一 原生ajax经典四步 (一) 原生ajax经典四步 第一步&#xff1a;创建网络请求的AJAX对象&#xff08;使用XMLHttpRequest&#xff09; JavaScript let xhr new XMLHttpRequest() 第二…

QQ农场-phpYeFarm添加数据教程

前置知识 plugin\qqfarm\core\data D:\study-project\testweb\upload\source\plugin\qqfarm\core\data 也就是plugin\qqfarm\core\data是一个缓存文件,如果更新农场数据后,必须要删除才可以 解决种子限制(必须要做才可以添加成功) 你不更改加入了id大于2000直接删除种子 D…

Vulnhub靶机 DC-2渗透详细过程

VulnHub靶机 DC-2 打靶 目录 VulnHub靶机 DC-2 打靶一、将靶机导入到虚拟机当中二、攻击方式主机发现端口扫描服务探针爆破目录web渗透信息收集扫描探针登录密码爆破SSH远程登录rbash提权 一、将靶机导入到虚拟机当中 靶机地址&#xff1a; https://www.vulnhub.com/entry/dc…

进制转换总结

目录 其它进制转十进制 十进制转其它进制 二八十六进制间转换 2进制(BIN): 0,1&#xff0c;满2进1.以0b或0B开头。8进制(OCT): 0-7 &#xff0c;满8进1.以数字0o或者0O开头表示。 10进制(DEC): 0-9&#xff0c;满10进1。 16进制(HEX): 0-9及A(10)-F(15)&#xff0c;满16进…

未来的前端框架技术发展趋势

​ 福利开篇推荐 老铁们,你们是否平常开发有这样的问题: 1.需要公网访问内网的一个服务? 2.需要一个开发环境直接支持https,但是弄本地证书既不合法,又很麻烦? 3.本地有强劲的服务器,需要对公网提供服务,但是拉宽带既贵,又麻烦? 4.有云主机,但同时云主机需要访问内部的服…

sample gpt 无限长上下文

参考地址 https://aistudio.baidu.com/projectdetail/7723195 import mathimport paddle import paddle.nn as nn import paddle.nn.functional as Fclass MaskMultiHeadAttention(nn.Layer):def __init__(self, hidden_size, num_heads):super(MaskMultiHeadAttention, self…

信息系统项目管理师0051:管理基础(4信息系统管理—4.1管理方法—4.1.1管理基础)

点击查看专栏目录 文章目录 第四章 信息系统管理4.1管理方法4.1.1管理基础1.层次结构2.系统管理第四章 信息系统管理 在信息技术和数据资源要素的推动下,社会各领域已经并正在加速进入数字化的全新发展时期,基于智能、网络和大数据的新经济业态正在形成,从“数字融合”向“数…

Spark开窗函数之ROW

Spark 1.5.x版本以后,在Spark SQL和DataFrame中引入了开窗函数,其中比较常用的开窗函数就是row_number 该函数的作用是根据表中字段进行分组,然后根据表中的字段排序;其实就是根据其排序顺序,给组中的每条记录添 加一个序号;且每组的序号都是从1开始,可利用它的这个特性进行分组…

【Java虚拟机】三色标记、增量更新、原始快照、记忆集与卡表

三色标记、增量更新、原始快照、记忆集与卡表 三色标记基本原来错标、漏标错标漏标 增量更新基本原理写屏障 原始快照基本原理为什么G1使用原始快照而不用增量更新。 记忆集与卡表 三色标记 基本原来 三色标记是JVM的垃圾收集器用于标记对象是否存活的一种方法。 三色是指黑…

学习java第四十三天

Spring AOP相关术语 &#xff08;1&#xff09;切面&#xff08;Aspect&#xff09;&#xff1a;切面是通知和切点的结合。通知和切点共同定义了切面的全部内容。 &#xff08;2&#xff09;连接点&#xff08;Join point&#xff09;&#xff1a;指方法&#xff0c;在Spring…

物联网智能仓储系统毕业设计报告

物联网智能仓储系统毕业设计报告 一、设计背景 随着经济的持续发展和电子商务的蓬勃兴起&#xff0c;仓储物流行业面临着前所未有的挑战。传统的仓储管理方式已无法满足现代商业对效率和精度的要求。因此&#xff0c;设计一款物联网智能仓储系统显得尤为重要&#xff0c;它将…

Servlet实现常用功能及其他方法

getParameter 获取body或url中指定的key/value值 String classIdreq.getParameter("classId"); getQueryString 获取请求的所有查询参数key,values1 String queryStringreq.getQueryString(); from表单提交 前端通过from表单提交用户名和密码 <!DOCTYPE htm…

DataX配置案例@Source:MySQL,Sink:HDFS [SQLMode] 及空值如何存储

HFDS Writer并未提供nullFormat参数&#xff1a;也就是用户并不能自定义null值写到HFDS文件中的存储格式。默认情况下&#xff0c;HFDS Writer会将null值存储为空字符串&#xff08;&#xff09;&#xff0c;而Hive默认的null值存储格式为\N。所以后期将DataX同步的文件导入Hiv…