爱上 Conda:Python 程序员的必备工具

前言

之前对于python环境的管理,我通常的做法是在项目目录中使用python -m venv myvenv这种方式来创建属于当前项目工程的虚拟环境。但最近,公司基于项目需要让客户端试着跑一些端测大模型,但他们对于Python不是很了解,对于版本管理以及依赖库安装是一头雾水,生怕把本地环境给污染。果断给他们推荐Conda。这片文章也记录一下Conda是如何轻松管理环境的,果断抛弃了python -m venv myvenv这种方式。

Conda到底是啥

Conda是一个开源的包管理器和环境管理器,主要用于安装和管理Python和其他编程语言的软件包。它可以帮助我们在不同的项目中轻松地创建和管理独立的环境,以及安装、升级和卸载软件包。

安装Conda

根据你的操作系统,可以从官方网站(www.anaconda.com/products/di...)下载相应的安装包。在安装过程中,建议选择"Add Anaconda to my PATH environment variable",以便在命令行中直接使用Conda命令。

创建和管理环境

创建环境

使用以下命令创建一个名为"myenv"的新环境,并指定Python版本为3.8:

ini 复制代码
conda create --name myenv python=3.8

激活环境

激活名为"myenv"的环境,请运行:

复制代码
conda activate myenv

这时,你会发现命令行的开始部分会显示你现在正在使用的虚拟环境的名字。

退出环境

要退出当前激活的环境,请运行:

复制代码
conda deactivate

删除环境

要删除名为"myenv"的环境,请运行:

lua 复制代码
conda env remove --name myenv

列出所有的 conda 环境

你可以使用下列的命令来查看机器上所有的conda环境:

bash 复制代码
conda env list

安装、升级和卸载软件包

安装软件包

启动环境后,你可以使用 conda installpip install 安装新的软件包。

要在当前环境中安装名为"numpy"的软件包,请运行:

复制代码
conda install numpy

升级软件包

要升级当前环境中名为"numpy"的软件包,请运行:

sql 复制代码
conda update numpy

卸载软件包

要从当前环境中卸载名为"numpy"的软件包,请运行:

arduino 复制代码
conda remove numpy

搜索软件包

要搜索包含关键字"numpy"的软件包,请运行:

sql 复制代码
conda search numpy

列出已安装的软件包

要列出当前环境中已安装的所有软件包及其版本,请运行:

复制代码
conda list

显示包的信息

你可以查看安装的包的具体信息:

复制代码
conda info numpy

导出和导入环境

克隆环境

如果你想要复制一个环境,你可以克隆它。比如,克隆名为 "myenv" 的环境,并命名为 "myclone":

css 复制代码
conda create --name myclone --clone myenv

导出环境

你可以将你的环境和其依赖关系导出到一个 YAML 文件中,这样就可以轻松地在其他机器上复制这个环境。例如,导出名为 "myenv" 的环境:

bash 复制代码
conda env export --name myenv > environment.yaml

从文件中创建环境

相反地,你也可以使用一个 YAML 文件来创建一个环境:

lua 复制代码
conda env create --file environment.yaml

启动 Jupyter Notebook

安装了 Jupyter Notebook。如果没有,你可以通过输入 conda install jupyter 来进行安装

输入 jupyter notebook 并按回车。此命令将启动 Jupyter Notebook,并且你的默认 web 浏览器应该会自动打开一个新的窗口或标签页,显示 Jupyter Notebook 的主页面。

最后

借助这样一个机会记录一下如何使用Conda进行环境的创建、管理以及软件包的安装、升级和卸载等操作。通过掌握这些基本操作,我们可以更好地利用Conda来管理Python项目和依赖。

相关推荐
Mahir0812 分钟前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
曲幽20 分钟前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
前端若水2 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
涛声依旧-底层原理研究所3 小时前
残差连接与层归一化通俗易懂的详解
人工智能·python·神经网络·transformer
csdn_aspnet3 小时前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
fantasy_arch3 小时前
pytorch人脸匹配模型
人工智能·pytorch·python
熊猫_豆豆3 小时前
广义相对论水星近日点进动完整详细数学推导
python·天体·广义相对论
web3.08889993 小时前
1688 图搜接口(item_search_img / 拍立淘) 接入方法
开发语言·python
AI算法沐枫4 小时前
深度学习python代码处理科研测序数据
数据结构·人工智能·python·深度学习·决策树·机器学习·线性回归
IT_陈寒4 小时前
Redis缓存击穿把我整不会了,原来还有这手操作
前端·人工智能·后端