【Python新手入门指南】Linux-conda环境安装与使用参考

在这里插入图片描述

文章目录

  • 前言
  • 一、conda是什么?
  • 二、安装步骤
  • 三、使用Conda来管理Python环境
    • 1. 创建环境
    • 2. 激活环境
    • 3. 安装软件包
    • 4. 查看环境
    • 5. 删除环境:如果您不再需要某个环境,可以使用以下命令将其删除:


前言

如果你是一位经验丰富的Python开发者,那就必然不会忽略虚拟环境这个部分。

试想这么一种情况,你在写一个程序,其中用到一个库,在调用是直接报错了,告诉你Python版本不支持。对于Python开发者来说,这其实挺常见的,也各有各的解决方案,有人直接将Python卸载了,重新装新的(你要是Linux,卸载Python电脑可能就用不了了),有的人用虚拟环境(基本上虚拟环境还是那个版本的Python,无法解决问题),有的人安装多个Python版本然后用系统链接的方式来实现Python版本管理(高手,手段高明),有的人直接手撸这个库(你可以点右上角的X了,大牛还看这?),也有人用Python的版本管理工具,在我看来,这种解决方案是最佳的。我在入门Python的时候,Python版本之间的差异极其巨大,一些特性真的是版本不对就没有了,然后就是找解决方案,这种版本差异对我学习的积极性影响巨大。如今我已经有足够多的经验来解决这些问题,是时候为新手铲除一些学习路上的拦路虎了。

我写这篇文章的主要目的有两个:

  1. 教会新手如何使用conda来实现Python版本的管理。
  2. 希望本文能作为一个参考手册,开发者可以随时查阅,来解决自己的问题。(虽然网上已经很多了,但是还是想自己写一遍)

也的确是看到新手遇到这个问题就像当时自己遇到这个问题一样,我必须给予帮助,仿佛在帮助过去的自己。

原本计划本周内容是Rust和Pyqt的。


一、conda是什么?

Conda是一个开源的软件包管理系统和环境管理系统,用于在不同的操作系统上安装、运行和管理多个软件包和环境。它可以用于管理Python软件包和其他编程语言的软件包,具有自动解决依赖关系、创建独立环境、轻松切换环境等功能。Conda提供了一个命令行界面和一个图形界面,使用户可以方便地安装、更新和删除软件包,以及创建、复制和删除环境。它还可以配置和管理系统所需的各种依赖关系,以便在不同的项目中使用不同版本的软件包。

在Linux中,Conda一般有两种实现,一种是Anaconda,一种是Miniconda。

Anaconda和Miniconda是两个Python发行版,都是由Continuum Analytics开发的,用于数据科学和机器学习的工具包。它们的主要区别在于安装包的大小和默认包含的软件包数量。

  1. 大小:Anaconda是一个完全的Python发行版,包含了许多用于数据科学和机器学习的软件包,因此它的安装包相对较大(约500MB)。而Miniconda只包含了一些最基本的软件包和依赖项,因此其安装包更小(约50MB)。

  2. 软件包:Anaconda默认安装了一些常用的数据科学和机器学习软件包,如NumPy、pandas、scikit-learn等。而Miniconda则没有默认安装这些软件包,需要根据需要手动安装。

  3. 灵活性:由于Miniconda只包含基本的软件包,因此可以根据需要选择性地安装其他软件包,以满足特定的需求。而Anaconda包含了许多常用软件包,可能会占用一些不必要的空间。

选择使用Anaconda还是Miniconda取决于个人需求。如果你需要许多数据科学和机器学习软件包,并且不太关心安装包的大小,则可以选择Anaconda。而如果你喜欢自定义安装,并且希望减少安装包的大小,则可以选择Miniconda。

于我而言,一般Miniconda就已经够用了,因为我只需要Python依赖和版本管理,如果你要做科学计算和数据分析,建议使用Anaconda,但是我这里只发Miniconda的安装,因为使用都是一样的。

二、安装步骤

在Linux上安装Miniconda的步骤如下:

  1. 首先,进入Miniconda官网(https://docs.conda.io/en/latest/miniconda.html),在Linux一栏下选择对应的安装包下载链接。可根据系统的位数选择x86(32位)或x86_64(64位)的安装包。

  2. 在Centos命令行中执行以下命令,将下载链接替换成你在官网上获取到的最新安装包链接:

   wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
  1. 下载完成后,在命令行输入以下命令来运行安装脚本:
  bash Miniconda3-latest-Linux-x86_64.sh
  1. 脚本运行后,会出现一系列的安装提示。按"Enter"继续安装,然后输入yes接受license协议。

  2. 安装过程中,系统会询问你是否将Miniconda的路径添加到系统的环境变量中,输入yes进行确认。如果你不希望将Miniconda添加到系统环境变量中,可以输入no

  3. 接下来,可以选择安装的位置。默认情况下,安装在home目录下的miniconda3文件夹中。如果你希望安装到不同的位置,可以根据提示输入自己的路径。

  4. 安装完成后,你可能需要重新启动终端,或者手动运行source ~/.bashrc来使环境变量生效。

  5. 检查Miniconda是否安装成功,可以在终端中输入conda --version来验证。

安装完成后,你就可以使用Miniconda来管理和安装Python环境和软件包了。

三、使用Conda来管理Python环境

常见的使用Conda来管理Python环境的使用方式如下:

1. 创建环境

一旦Conda安装完成,可以使用以下命令创建一个新的Python环境:

  conda create --name <环境名称> python=<Python版本>

其中,<环境名称>是您希望创建的环境的名称,<Python版本>是您希望使用的Python版本。例如,要创建一个名为"myenv"的环境,并使用Python 3.7,可以运行以下命令:

  conda create --name myenv python=3.7

2. 激活环境

创建环境后,需要激活它以使用环境中安装的Python和其他软件包。
在Linux或Mac上,可以运行以下命令:

  conda activate <环境名称>

例如,要激活名为"myenv"的环境,可以运行以下命令:

   conda activate myenv

3. 安装软件包

一旦环境激活,可以使用Conda命令安装所需的Python软件包。例如,要安装numpy软件包,可以运行以下命令:

  conda install numpy

4. 查看环境

您可以使用以下命令查看当前存在的所有环境:

  conda info --envs

5. 删除环境:如果您不再需要某个环境,可以使用以下命令将其删除:

  conda remove --name <环境名称> --all

例如,要删除名为"myenv"的环境,可以运行以下命令:

  conda remove --name myenv --all

这样,你就可以使用Conda来管理Python环境了。你可以创建多个环境,并在其中安装不同版本的Python和软件包,以满足不同项目的需求。从此不再为Python版本而发愁。

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

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

相关文章

oracle merge的使用

Oracle中的MERGE语句是一个非常强大的工具&#xff0c;它允许用户在一个SQL语句中同时执行INSERT和UPDATE操作。以下是关于Oracle MERGE语句的详细使用说明&#xff1a; 1. 基本语法 MERGE INTO target_table USING source_table ON (merge_condition) WHEN MATCHED THEN …

【SQL Server数据库】熟悉DBMS的基本操作及数据库的创建

目录 一、SQL SERVER基本操作 二、用Management Studio创建数据库 1、使用Management Studio创建数据库bookdb&#xff0c;各项参数采用默认设置。 2、使用Management Studio创建数据库EDUC 3. 在EDUC中创建三个表&#xff0c;根据下面要求创建Student&#xff0c;Course&am…

昇思25天学习打卡营第01天|基本介绍快速入门

一、什么是昇思MindSpore&#xff1f; 昇思MindSpore是一个全场景深度学习框架&#xff0c;详见基本介绍 那什么是深度学习呢&#xff1f; 深度学习是一种特殊的机器学习&#xff0c;主要是利用了多层神经网络模拟人脑&#xff0c;自动提取特征并进行预测。 什么是机器学习…

Mac Terminal常用命令

1. 文件和目录操作&#xff1a; #ls : 列出当前目录下的文件和子目录 -- ls(list) #cd : 进入指定目录。 -- cd Documents。 cd(change directory)cd ..:返回上一级cd ~:返回家目录cd /:返回根目录 cd Documents/ 前往“文稿” #pwd : 显示当前工作目录的完整路径 -- pwd(prin…

【C++】模板详解

前言&#xff1a;在之前的学习我们发现我们无时无刻都用到模板这个东西&#xff0c;但是博主一直没有进行讲解&#xff0c;今天我们就一次性对模板进行一个整体的学习与讲解。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:高质量&#…

Java 8 Stream API 中 distinct() 与 distinctByKey() 的区别是什么?如何使用它们来过滤重复元素?

在Java 8中&#xff0c;Stream API是一个强大的工具&#xff0c;它允许以声明性的方式处理数据集合&#xff0c;使得代码更加简洁且易于理解。distinct()和distinctByKey()是两种用于过滤重复元素的方法&#xff0c;虽然后者不是标准库直接提供的&#xff0c;但可以通过一些技巧…

计算机毕业设计Python+LSTM+Tensorflow股票分析预测 基金分析预测 股票爬虫 大数据毕业设计 深度学习 机器学习 数据可视化 人工智能

基于TensorFlow-LSTM的股票预测系统开题报告 一、研究背景与意义 随着信息技术的飞速发展&#xff0c;股票市场作为现代经济活动的重要组成部分&#xff0c;其价格波动受到广泛关注。投资者们迫切希望通过科学的方法预测股票价格&#xff0c;以优化投资决策&#xff0c;实现利…

【Java06】Java中的类与对象

1. 类和对象 Java中的类模版如下&#xff1a; [修饰符] class 类名 {0~n个构造器;0~n个成员变量;0~n个成员方法; }构造器是类创建对象的根本途径。如果没有显式定义构造器&#xff0c;系统会默认提供一个。成员变量、成员方法的定义和C类似&#xff0c;只不过多了修饰符。 Ja…

Interview preparation--elasticSearch正排索引原理

正排索引 ElastciSearch 适合做或者说擅长做全文检索&#xff0c;在做全文检索的时候&#xff0c;他会通过生成倒排索引的方式来辅助查询&#xff0c;生成一个词项到 文档id的一个倒排表&#xff0c;这样直接通过 词项可以快速找到所有的 稳定信息。 但是并不是所有的搜索都是…

python第一个多进程爬虫

使用 multiprocessing 模块实现多进程爬取股票网址买卖数据的基本思路是&#xff1a; 定义爬虫函数&#xff0c;用于从一个或多个股票网址上抓取数据。创建多个进程&#xff0c;每个进程执行爬虫函数&#xff0c;可能针对不同的股票或不同的网页。使用 multiprocessing.Queue …

前端基础——自学习梳理

超文本协议HTML <!DOCTYPE HTML> <html><head><meta charset"utf-8"> <style> /*Css*/.sty1{height:100px;width:100px;background-color: red;margin-top: 10px;float:left;margin-left: 10px;box-shadow: 10px 10px 10px #0000…

多路h265监控录放开发-(14)通过PaintCell自定义日历控件继承QCalendarWidget的XCalendar类

首先创建一个新类XCalendar继承QCalendarWidget类&#xff0c;然后在UI视图设计器中把日历提升为XCalendar&#xff0c;通过这个函数自己设置日历的样式 xcalendar.h #pragma once #include <QCalendarWidget> class XCalendar :public QCalendarWidget { public:XCal…

2024.06.24 刷题日记

17. 电话号码的字母组合 依然是昨天的回溯&#xff0c;思路是根据 index&#xff0c;来确定要回溯的对象&#xff1a; class Solution { public:vector<string> letterCombinations(string digits) {vector<string> results;if (digits.empty())return results; …

Linux 运维王者从不离手的10款工具

运维工程师在日常工作中频繁运用的10款工具&#xff0c;并细致阐述每款工具的功能、适用场景以及其卓越之处。 1. Shell脚本 功能&#xff1a;主要用于自动化任务和批处理作业。 适用场景&#xff1a;频繁用于文件处理、系统管理、简单的网络管理等操作。 优势&#xff1a;灵…

Java 抽象类

目录 1、什么是抽象类 2、定义抽象类 3、抽象类特性 4、 抽象类的作用 1、什么是抽象类 抽象类&#xff0c;顾名思义就是抽象的。该类没有包含足够的信息去描绘一个具体的对象&#xff0c;这样的类称为抽象类。抽象类着一种优化了的概念组织方式&#xff0c;它是所有子类的…

研究上百个小时,高手总结了这份 DALL-E 3 人物连续性公式(上)

上篇 Dall-E 3 讲了常见的 20 个公式&#xff0c;今天单独来讲一下人物连续性公式&#xff0c;这个公式来自 AshutoshShrivastava。 上篇回顾&#xff1a; 效果超好&#xff01;全新 DALL-E 3 必须掌握的 20 种公式使用方法上周末&#xff0c;DALL-E 3 正式加入 ChatGpt&…

嵌入式实验---实验八 ADC电压采集实验

一、实验目的 1、掌握STM32F103ADC电压采集程序设计流程&#xff1b; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、使用STM32F103R6采集可变电阻上的电压信号&#xff0c;并通过计算把当前ADC转换值和电压值显示在LCD1602液晶屏上&#xff1b; 2、对照电压表读数&…

红队内网攻防渗透:内网渗透之内网对抗:横向移动篇域控系统提权NetLogonADCSPACKDC永恒之蓝CVE漏洞

红队内网攻防渗透 1. 内网横向移动1.1 横向移动-域控提权-CVE-2020-1472 NetLogon1.2 横向移动-域控提权-CVE-2021-422871.3 横向移动-域控提权-CVE-2022-269231.4 横向移动-系统漏洞-CVE-2017-01461.5 横向移动-域控提权-CVE-2014-63241. 内网横向移动 1、横向移动-域控提权-…

【问题】Ubuntu下使用ftp命令下载文件

Ubuntu下使用ftp命令下载文件具体的方法示例如下: $ ftp 192.168.180.3 Connected to 192.168.180.3. Name (192.168.180.3:test): 此处输入用户名 Password:此处输入对应的密码 /*查看当前路径*/ ftp> pwd 257 "/" is current directory. ftp> cd test …

为冲刺IPO,喜马拉雅曝裁员20%?钉钉叶军吐槽百度搜索;美国制裁俄罗斯安全软件12名高管;华为自研语言仓颉力战Java

一、商业圈 1.钉钉总裁叶军吐槽百度搜索&#xff1a;前十条都是广告 钉钉总裁叶军在亚布力中国企业家论坛第十届创新年会上发表了演讲&#xff0c;期间他直言不讳地对百度搜索提出了批评。叶军指出&#xff0c;在OpenAI推出智能聊天机器人ChatGPT之后&#xff0c;百度的传统搜…