【ML入门】anaconda环境搭建

news2024/12/28 4:22:01

【ML入门】anaconda环境搭建

一、安装anaconda

anaconda简介

直接安装python不是更快吗,为什么使用anaconda?

可以理解anaconda是一个大容器(类似docker),里面可以建立多个python虚拟环境,对于不同的工程项目,可以做到随意切换,方便管理。

1、anaconda官网下载对应电脑版本的anaconda版本,并安装。考虑到兼容性问题,建议下载中版本
在这里插入图片描述

2、安装好anaconda后在命令行中键入conda -V观察版本号
在这里插入图片描述

3、建立一个虚拟环境并启动

建立一个名为code,python version = 3.6的虚拟环境
conda create code python=3.6

如果想要指定位置创建虚拟环境,需要加上–prefix参数,其中basePath为目标路径
conda create --prefix=/{basePath}/code python=3.6

查看虚拟环境
conda info --envs

启动虚拟环境
conda activate code

退出虚拟环境
conda deactivate

删除虚拟环境
conda remove code --all

二、pycharm引用conda

笔者使用的是OS版本v2022.3.1 pycharm
左上角->Pycharm->Preferences
在这里插入图片描述

注意!!!

Conda executabke要选择conda,而不是python.py !!!
否则加载环境时候会报错。

三、额外的配置

3.1 打开终端自动启动conda

可以通过配置auto_activate_base关闭自动进入conda基础环境
conda config --set auto_activate_base false

如要开启,将其设为true就可以了
conda config --set auto_activate_base true

3.2 更改全局python3/pip3

背景介绍

笔者电脑中一共有5个版本的python🤦‍♂️
在mac系统中会有自带的python2.7
笔者自己装了python3.8和python3.10
anaconda默认安装了一个python3.9
anaconda建立了一个新的虚拟环境python3.6

电脑中有多个python版本时,全局pip3需要更改,不然通过pip3命令下载包时仍会调用旧的pip,下载包到旧的site-packages里面

更改python3执行器(此步骤可以不做,根据实际需求使用是否使用python3命令而决定)
下面以python3为例进行虚拟环境配置python3.6(python2版本默认为python)

(1)查看电脑所有python3所在路径where python3

在这里插入图片描述

(2)查看目前使用的python3which python3

在这里插入图片描述
查看当前电脑python3版本python3 -V,发现其使用的是V3.10,

通过命令python -m site,发现
当前软路由 /usr/local/bin/python3 指向了 /Library/Frameworks/Python.framework/Versions/3.10/bin/python3

对此需要将软路由修改指向V3.6版本的python /Users/cheunghonghui/Documents/anaconda3/envs/code/bin/python3.6

(3)修改软路由/usr/local/bin/python3指向

备份原来的软路由 mv /usr/local/bin/python3 /usr/local/bin/python3.bak

创建指向虚拟环境python3.6的软路由

更改pip3 install 不使用默认的pip3库
直接使用pip3 install numpy命令下载包时会出现虚拟环境中的site-packages中没有指定的numpy包

pip3 show numpy查看numpy包所在路径发现其在其它python 版本的site-packages文件夹中

(1)查看电脑所有pip3所在路径where pip3
在这里插入图片描述

(2)查看当前使用的pip3版本 which pip3,发现当前pip3的版本和虚拟环境的pip3版本不一致

和上述更改python3执行器的原理一致,

此时/usr/local/bin/pip3指向的是/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pip /usr/local/bin/pip3,

我们需要将其指向新建立的虚拟环境pip3
ln -s /Users/cheunghonghui/Documents/anaconda3/envs/code/bin/pip3 /usr/local/bin/pip3

3.3 修改python3下载安装的site-packages路径

查看当前site-packpages位置 python3 -m site

查询site-packages配置文件路径python -m site -help

通过修改site.py里面的USER_SITE参数能控制site-packages位置(前提是ENABLE_USER_SITE = true)
在这里插入图片描述

四、常见报错

4.1 安装opencv报错解决方法

直接只用命令pip3 install opencv-python会出现以下提示:

Building wheel for opencv-python (PEP 517) ... /

解决:
在install命令中加上低版本号
pip3 install opencv-python==3.4.9.31

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

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

相关文章

harbor不停机更换自定义证书

1、问题起源 今天在使用docker推镜像提示证书问题,查看是harbor的自签名证书过期了,报错如下 由于harbor是使用helm部署,以容器方式运行在k8s集群中,无法直接修改证书信息,需要通过更新secret更新证书 2、生成自签名…

论文投稿指南——中文核心期刊推荐(食品工业)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

云计算|OpenStack|社区版OpenStack安装部署文档(二---OpenStack运行环境搭建)

前言: 一个良好的运行环境对于任何一个部署工作来说都是必须的,俗话说 万事开头难,其实很多部署工作失败的原因在于初始环境没有正确的配置,因此,按照官网的部署文档并结合自己的实际情况,配置一个合理的O…

JavaScript对象~

String对象: 它是 JavaScript 的一种基本的数据类型 String 对象的 length 属性声明了该字符串中的字符数,String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串 需要注意的是,Ja…

Java图形化界面---进度条

目录 一、进度条的介绍 二、创建进度条 三、简单案例 四、子线程创建进度条 (1)为什么要使用子线程创建进度条 (2)子线程创建进度条的代码 五、创建进度对话框 (1)如何创建进度对话框 (2&…

win32Openssl -1_1_1下载安装与使用

1、下载 https://mp.csdn.net/mp_blog/creation/editor?spm1001.2014.3001.5352 此处我下载的版本是: 2、安装 双击安装,可以自定义安装路径。我的安装路径是:D:\openssl1\OpenSSL-Win32 3、VS2022中使用 使用场景:计算MD5校…

shiro拦截axios请求导致@RequireRole注解失效

文章目录ShiroRequiresRole注解对于axios请求无效场景再现解决方案网上的解决方案最近在整理一个自己以前做过的系统,想要添加一些功能,发现shiro框架出现了点问题,觉得这个错误应该还是蛮有价值的,就写出来和大家分享下… ShiroR…

PostgreSQL11 | 数据类型和运算符

上一篇文章整理并拓展了原书《PostgreSql11从入门到精通》第四章的内容,详细讲述了有关数据库表的创建、修改与删表 PostgreSQL11 | pgsql建表、改表与删表http://t.csdn.cn/ojgCl这一篇整理并拓展原书第五章(书第73页起)的内容。 数据类型和…

【C++】从0到1入门C++编程学习笔记 - 提高编程篇:模板

文章目录一、模板的概念二、函数模板2.1 函数模板语法2.2 函数模板注意事项2.3 函数模板案例2.4 普通函数与函数模板的区别2.5 普通函数与函数模板的调用规则2.6 模板的局限性三、类模板3.1 类模板语法3.2 类模板与函数模板区别3.3 类模板中成员函数创建时机3.4 类模板对象做函…

【Linux】编辑器——vim的使用

环境:centos7.6,腾讯云服务器Linux文章都放在了专栏:【Linux】欢迎支持订阅🌹vim的基本概念vim是什么?vim是一款多模式的编辑器,是vi的升级版本,在兼容vi指令的同时,还带有一些新的特…

Linux主机下连接远程postgresql数据库、容器版postgresql数据库

背景 简单啰嗦一下背景,想看解决方案的,直接跳过本章节。 最近在预研postgresql的功能,其中有个场景就是需要在系统中ssh到postgresql集群上执行psql命令。但是我只有容器版的postgresql,并不能直接ssh到容器中。而ssh到我自己的…

Spring5 框架新功能(Webflux)

目录 1、SpringWebflux 介绍 2、响应式编程(Java 实现) 3、响应式编程(Reactor 实现) 1、SpringWebflux 介绍 (1)SpringWebflux 是 Spring5 添加新的模块,用于 web 开发的,功能和…

JDBC用PrepareStatement解决SQL注入

什么是sql注入?SQL注入(SQL injection)是因为应用程序在执行SQL语句的时候没有正确的处理用户输入字符串,将用户输入的恶意字符串拼接到了SQL语句中执行,从而导致了SQL注入。例如:当你的用户名为 qwert or 11;# 密码为123&#xf…

springmvc拦截器及源码分析

springmvc拦截器是我们项目开发中用到的一个功能,常常用于对Handler进行预处理和后处理。本案例来演示一个较简单的springmvc拦截器的使用,并通过分析源码来探究拦截器的执行顺序是如何控制的。1、springmvc拦截器使用1.1 项目初始搭建1.1.1 创建一个mav…

如何用ffmpeg截取视频片段截取时间不准确的坑

之前在工作中,有遇到需要程序化截取视频片段的场景,这里使用ffmpeg命令行就可以很容易实现,这里也记录下我们使用过程中遇到的坑,希望对大家也有所帮助。    举个例子,当我们要截取视频文件中input.mp4的第15秒到第9…

windows+python+bleak+BLE低功耗蓝牙通讯连接

前言 1.为什么选bleak   参考这篇知乎:https://zhuanlan.zhihu.com/p/577687336   windows端使用python连接常规的BLE设备(蓝牙4.0),仅考虑bleak模块(排除pybluez、pybluez2、pygatt)。 2.本文主要参…

【c语言】对结构体数组按照某项规则进行排序

这是基于qsort()函数进行的简单排序。(附带其他类型的数组使用qsort()进行的排序) 目录 一、qsort()函数 二、compare()函数 1.结构体数组 1)升序实现 2)降序实现 2.整型数组 为什么不直接返回 a>b(a&#x…

CentOS 下PostgreSQL安装、简单配置及数据迁移(存储目录迁移)

目录 数据库安装 数据库初始化 配置修改 1、修改监听范围 2、修改数据库用户密码 3、开启远程连接 附件内容:PostgreSQL数据迁移 方式一,从新初始化数据库在导出导入 方式二:存储文件物理迁移 数据库安装 安装包下载请参考PG官网(根据…

OAuth2介绍(一)

目录 1. 什么是OAuth2.0 2. OAuth2中的角色 3. 认证流程 4. 生活中的Oauth2思维 5. 令牌的特点 6. OAuth2授权方式 6.1 授权码 6.2 隐藏方式 6.3 密码方式 6.4 凭证方式 7. 流程 7.1 资源所有者 7.2 客户 7.3 客户 7.4 认证服务器 7.5 客户 7.6 资源服务器 1.…

【高并发】- 分布式事务都不会?

前言 本章主要对分布式事务进行梳理和讲解。可能在业务设计过程中,各微服务都采用了独立数据库,所以,这些微服务之间的数据共享有了更高的要求:要解决数据一致性的问题。 1. 数据一致性 数据一致性是指:数据被多次操作…