virtualenv(venv)
这是一个虚拟环境管理器,它可以让你每个项目甚至每个脚本配置一个自定义的Python解释器环境,这最大的好处是我可以不污染开发环境。
pip
pip 是 Python 最常用的包管理器,它能自动处理依赖 。
conda
如果说venv是虚拟环境管理器,pip是包管理器,那么conda则是两者的结合。
anaconda
Anaconda 是一个基于 Conda 的 Python 发行版,他与conda区别的是,他主要面向数据科学、机器学习和科学计算领域,提供了广泛的数据处理、分析和可视化工具。譬如他提供了 Anaconda Navigator,一个可视化的界面,用于管理环境、安装软件包和启动应用程序。
Miniconda
它是Anaconda的无界面和预装包的版本。
venv和conda的区别
- conda虚拟环境是独立于主环境的,venv不独立。
意思是无论操作系统解释器(就是主环境,或者说本机python环境)什么版本,哪怕2.7,我也可以指定conda的python版本为3.10,甚至本机不安装python,只安装了conda,我也可以用python3.10。而venv是依赖主环境的,如果本机装的是py2.7,那么久不可能使用py3.10。 - 包重复问题
使用venv的话,会在项目的文件夹(或者当时创建项目时指定的文件夹)下创建一个单独的venv文件夹,这个文件夹里会有项目所有需要的包,即使主环境中已经有这个包了。然而conda每个虚拟环境都固定创建在用户设定的一个位置,这使得多个项目共享一个虚拟环境更加方便。
conda中的包管理和pip的区别
- conda的包管理器做的一般,且会安装过多依赖。所以我们大部分情况下还是使用pip安装包。
- 但pip只能安装Python的包,conda还可以安装一些不是Python开发的软件或工具。
- conda提供了图形化环境,也就是anaconda,这里面集成了jupyter notebook等工具。
- conda能多线程下载,pip只能单线程,下一些比较大的工具时差别比较明显。
删除venv的环境
可以打开pycharm,使用venv创建项目,看位置一般默认创建在哪,然后删掉。
在这里本人以前年少不懂事,以为这个位置是解释器的位置,就没有更改过,然后在C盘的用户目录下创建了很多个项目(
全部删掉!
删除多余的python环境
注意以下列出的法一和法二最好都尝试一遍。而且先尝试法一,不然法二尝试了后,法一可能无法删除
法一:使用控制面板删除
法二:命令行查询python环境位置后手动删除
可能有些人因为没有安装conda,导致要用不同版本的python时,在本机上安装了很多个python环境,譬如本人(
而且本人之后准备全部使用conda,所以准备将所有python环境都删掉。于是可以在终端上执行
在 Windows 上:where python
在 macOS 或 Linux 上:which python