Conda和pip的区别

  pip是python自带的,而conda是安装anaconda或者miniconda提供的,俗称的蟒蛇软件商给的。conda可以用来安装管理python,pip当然不能管理python,pip是python下的,所以用pip来装python不可能,但是conda可以装python有的人不用conda去管理pyhon环境,他们自己安装自己要的python各个版本,然后通过修改全局变量来实现用哪个版本的python(全局变量就是比如你要在桌面的路径中输入python,可以运行,其实就是能用到其实exe文件在其他路径下的python.exe,那么这个python.exe就必须为全局变量)通过conda安装的工具包例如tensorflow只会出现在conda list中,不会出现在pip list 中,倒过来也一样.

当你在使用 `conda` `pip` 管理Python环境时,可能会遇到两者之间的依赖冲突问题。这是因为 `conda` `pip` 是两个独立的包管理工具,默认情况下它们各自维护一套包版本依赖解析机制。 ### Conda Pip 冲突的原因 1. **不同的依赖管理系统**:Conda 使用 Anaconda 仓库进行包管理依赖解决;而 pip 则通过 PyPI (Python Package Index) 来获取软件包及其依赖项。 2. **安装顺序不当**:如果你先用 conda 安装了一些库之后再用 pip 添加额外的内容,则可能导致某些库无法正常工作,因为二者处理依赖的方式不同,后者不会检查前者已存在的约束条件。 3. **重复安装相同的库**:有时你会发现自己无意间同时从这两个来源获得了同一名称的不同版本的程序集,这会造成系统混乱并导致错误发生。 ### 解决方案: #### 推荐做法 - 尽量只选择一种工具作为主要管理者 - 如果你更倾向于稳定性兼容性,那么尽量全部都通过 `conda install` 命令来进行操作; - 当确实需要一些只有在 PyPi 上能找到的新颖功能或者实验性质的东西时可以考虑采用 `pip install` ,但最好是在创建新环境中尝试,并确保理解其潜在风险。 #### 具体措施: - 创建新的虚拟环境之前,明确指定你要使用的管理器(例如仅限于 `conda` 或者主要是 `conda + 最小限度地补充性的 pip`) ```bash # 新建一个干净的 conda env 并激活它 conda create --name myenv python=3.x conda activate myenv ``` - 查看当前环境下已经由 `conda` 提供的所有package列表 ```bash conda list # 显示所有来自 conda 的 packages ``` - 对于那些只能经由 pip 获取到更新版或者其他特殊分支的情况,在确认必要后单独执行对应的命令行指令 ```python pip install specific-package-name==version_number_or_specifier ``` 此外还可以利用 `mamba`, 这是一个更快捷且改进了多渠道混合支持体验替代品给原生 conda 指令提供增强服务,对于复杂的跨源需求来说更为友好。 最后提醒一点,当遇到类似 `conda pack` 导致的问题时,请首先保证你的基础镜像以及所处的工作区是最新的状态,避免旧有残留数据引发不必要的麻烦。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值