anacodna的下载命令和python包的位置说明
本文使用chatgpt来组织和回答问题
Anaconda介绍、安装及使用教程
1conda和pip的区别?
conda和pip都是Python包管理工具,但它们有一些区别。
Conda是Anaconda发行版中的包管理工具,它提供了一个开源的环境管理系统,能够创建、保存和加载Python环境,并管理Python包及其依赖关系。Conda除了可以安装Python包,还可以安装非Python的软件包,如C/C++编译器、R语言、Java虚拟机等。Conda还支持跨平台,可以在Windows、Linux和MacOS等系统上使用。
Pip是Python的标准包管理工具,它可以用来安装、升级和卸载Python包。Pip只能安装Python包,无法安装非Python的软件包。Pip也可以管理Python虚拟环境,但不如Conda灵活。
下面是几个Conda和Pip的区别:
-
环境管理:Conda提供了强大的环境管理功能,可以创建、保存和加载多个独立的Python环境,每个环境可以包含不同版本的Python和不同的软件包,而Pip只能在全局Python环境中安装软件包。
-
软件包管理:Conda支持安装非Python的软件包,而Pip只能安装Python包。
-
依赖关系:Conda能够自动处理软件包之间的依赖关系,安装软件包时会自动安装所有需要的依赖包,而Pip需要手动安装依赖包。
-
跨平台:Conda可以在Windows、Linux和MacOS等系统上使用,而Pip只能在Python解释器上使用。
总的来说,如果你需要管理Python环境、安装非Python的软件包或需要自动处理依赖关系,那么使用Conda会更加方便。如果你只需要在全局Python环境中安装Python包,那么Pip就足够了
在对应的虚拟环境下,使用pip和conda几乎等效,对于某些库,使用conda可以更好的处理环境依赖问题。
对于虚拟环境,conda下载的对象是使用的python,所以下载前要注意使用对应的环境,分别清楚是系统的python环境还是虚拟环境下的python环境。
如果使用pycharm来使用虚拟环境的话,我们只需要找到conda.exe的位置,就可以自动读取创建的虚拟环境
对应的路径
Anaconda3\Scripts\conda.exe
在之前的版本2021等是找对应env环境下的python.exe.
2conda创建一个新的环境
conda create --name <env_name> [python=<python_version>] [package1 package2 ...]
conda create -n <env_name> #-n是参数的缩写,我们可以先不写下载的包
对于修改一个环境的名字,并没有一个单一的命令,而是几个命令的复合操作
conda activate <old_name> && conda deactivate && conda create --name <new_name> --clone <old_name> && conda remove --name <old_name> --all
<old_name>
是原始环境的名称,<new_name>
是新环境的名称。执行此命令将会克隆旧环境到新环境,然后删除旧环境。
该命令的解释:
先激活老的环境测试,退出,创建新的环境,以老环境为clone参数,之后再完全remove掉老的环境。
conda remove --name <env_name> --all
是完全删除该环境
管理环境完全使用conda这个命令
我们一般会使用到如下的命令
conda activate <env_name> 激活环境的命令
![[Pasted image 20230702211925.png]]
使用后,命令行环境的括号从base变为你选择的环境,不过环境需要用上面create命令去创建。
conda deactivate
退出现在的环境
创建出的环境结构如下:(在anaconda的env下面)
我们切换到该环境并使用conda下载python支持或者非python的软件
对于conda下载的问题
我们可以使用换源 来提高下载速度
conda的换源命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda下载的安装包,如果没有指定版本,一般会下载最新的版本
conda install <package_name>
我们可以指定版本,一般随便下载一个不存在的版本,他在命令行中就会提示 可下载的版本
conda install <package_name>=<version>
一般适用于对软件包有匹配要求的程序
更新和删除包,同时还会删除依赖项
conda update <package_name>
conda remove <package_name>
查看conda下载的路径信息
conda info --envs
在切换到需要的虚拟环境之后,用该命令查看软件包下载路径
一般下载到下面的路径
这个下载都在pkgs中,而不是对应的env环境中,
对于同版本的包可能符合垃圾回收机制,多个指针指向同样的包,
也有可能是单独下载,但是对于环境名不同,有不同的命名规则。
上图就是同样的numpy包在两个环境中下载出现的文件组织。
查看已有的虚拟环境
conda env list
我们通过这个方式查看虚拟环境。
jupyter的配置
我们配置jupyter主要有几个重要过程
1.我们要在对应虚拟环境下下载jupyter
2.在对应虚拟环境下,下载虚拟内核ipykernel 。
3.生成虚拟环境内核在每个环境下的对应路径,如对应虚拟环境是manim_env
D:\env\anaconda3\envs\manim_env\share\jupyter\kernels
下载jupyter
conda install jupyter notebook
conda install jupyterlab
jupyter我们一般有两个选择
jupyter notebook
jupyter lab
lab是notebook的升级版,比notebook多了一些目录和其他功能
ipykernel的下载
对于python3是在linux 中的写法
python3 -m pip install ipykernel
在windows环境下我们就不需要
主要就是下载
ipykernel
使用conda或者pip,都可以
conda install ipykernel
pip install ipykernel
上述两条命令均可
在下载jupyter后,我们还需要给虚拟环境配置jupyter 的虚拟内核
python -m ipykernel install --user --name=myenv --display-name="MyEnv"
一般在对应环境下
以manim_env为例,
python -m ipykernel install --name=manim_env --display-name=“Manim”
其中,`myenv` 是你想要指定的内核名称,"MyEnv" 是你想要在 [Jupyter Notebook]中显示的内核名称。
--user
选项会将内核安装到用户的主目录
在windows 环境下就放在了 kernel下
因为我不想放在C盘,因为如果重装系统,该文件会丢失,我希望把它放在对应虚拟环境中。
指定内核配置的安装位置
和上个命令相比,增加了prefix
python -m ipykernel install --name=myenv --display-name="MyEnv" --prefix=/path/to/installation
我们使用prefix指定生产内核的文件,我们可以指定任意一个文件夹,之后再把该文件夹下的内容给复制到指定路径就行
对于在主目录下的jupyter的kernel我们的所有环境都可以访问到。
但是–prefix指定的目录系统使用查看kernel的命令查不到
jupyter kernelspec list
我们可以把虚拟环境生成的内核(指定生成的文件夹)放置在对应环境下的’‘\share\jupyter\kernels’’
在对应的路径下,我们就可以在jupyter 中可以找到该内核,并进行切换等操作。
使用和测试
我们在命令行中,找到对应的文件夹
jupyter lab
切换环境
. 是打开当前文件夹
说明:
之后每次创建一个新的环境,都可以创建一个虚拟内核,把该内核指定位置,复制到每一个老环境的
\share\jupyter\kernels
路径下,之后就可以正常使用了。