爱上 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项目和依赖。

相关推荐
神奇的程序员5 小时前
从已损坏的备份中拯救数据
运维·后端·前端工程化
哥本哈士奇(aspnetx)5 小时前
Streamlit + LangChain 1.0 简单实现智能问答前后端
python·大模型
oden6 小时前
AI服务商切换太麻烦?一个AI Gateway搞定监控、缓存和故障转移(成本降40%)
后端·openai·api
我一定会有钱6 小时前
斐波纳契数列、end关键字
python
李慕婉学姐7 小时前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
小鸡吃米…7 小时前
Python 列表
开发语言·python
m0_740043737 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
星依网络8 小时前
yolov5实现游戏图像识别与后续辅助功能
python·开源·游戏程序·骨骼绑定
招风的黑耳8 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
大佐不会说日语~8 小时前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai