需求
- pip安装的版本会在全局环境下生效,导致不用的项目使用的是同一套环境,容易出现别人的项目跑的好好的,到了自己电脑就不能跑的问题
- 需求
- 1.不同的项目可以设置不同的环境,同时支持自动切换环境
- 2.便捷,轻量化管理当前的环境
- 如果可以,最好有一个可视化的平台,anaconda倒是支持图形化管理,但是不轻量,mini
- 3.目前是window,就写了window平台使用,其他平台操作也应该大同小异
调研
- Anaconda
- Anaconda是一个包含了大量数据科学和机器学习相关包的 Python 发行版。它附带了 conda包和环境管理工具、许多预安装的库和工具,以及图形界面的 Anaconda Navigator。
- miniconda
- Miniconda 是一个较小的 Python 发行版,它包括 conda 工具和Python 解释器,所以更像是Anaconda 的阉割版。相较于Anaconda,Miniconda 体积小了很多,占用磁盘空间少了很多,对于我们一般的开发者足够用了。
miniconda安装并在pycharm配置
- 下载
* https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?C=M&O=A - 如果不想自己配置环境变量,打钩即可
- 如果没有打钩,自己在环境变量配置下即可
- 安装完成,查看有的环境
- 我们添加下环境
- 可以看到,目前这个项目使用的是全局的环境,也就是base环境
- 我们更换为conda环境,这里通过pycharm创建一个环境名称为project20241012RunEnv的运行环境
- 等待一会,在下载一些基础库,为什么知道,因为下载失败了开着代理,哈哈哈
- 创建完成
- 我们cmd输入conda env list ,查看下环境
- 可以看到我们建立的环境在下面
- 对比之前,我们可以看到,新建立的环境库很少对比之前
- 之前
- 现在
- 我们在终端也可以看到环境前缀
- cmd中也可以使用conda activate 环境名 切换环境
安装依赖在新环境
- miniconda中默认自带一个名为conda的包管理工具,和pip工具有异曲同工之处,并且miniconda中也自带pip。conda主要用于管理虚拟环境的,虽然也能安装依赖,但还是推荐pip。
- 我们看下新环境依赖
- 我们随便安装一个
- 出现**WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLZeroReturnError(6, ‘TLS/SSL connection has been closed (EOF) (_ssl.c:1149)’))’: /simple/torch/ **把代理关闭下
- 随便安装一个库,看看有没有隔离
- pip install test-test
- 安装成功
- 我们在project20241012安装了依赖库test-test,我们切换到其他环境或者不在任何一个环境下(最原始的)看看能不能查找到,可以看到,并没有出现依赖test-test
特别注意
- 如果在安装conda之前就安装了一些依赖,好像是会影响现有的环境的,比如我在原始环境安装了scrapy,然后切换到新环境输入scrapy也会识别,原始环境卸载scrapy后,新环境也无法运行scrapy了
参考文章
- https://blog.csdn.net/weixin_47285222/article/details/141351119