pip 和 conda 的安装区别

在决定使用 pip 和 conda 安装包时,了解这两个包管理器之间的主要区别非常重要。以下是细分:

1. 区别

1.1. Package Management System

  1. 包裹管理系统

Pip: :
Primarily used for Python packages.
主要用于 Python 包。
Installs packages from the Python Package Index (PyPI).
从 Python 包索引 (PyPI) 安装包。
Handles Python packages only; you may need to manage dependencies manually.
仅处理 Python 包;您可能需要手动管理依赖项。

Conda:
A general package manager that can manage packages written in any language (Python, R, Ruby, etc.).
一个通用的包管理器,可以管理以任何语言(Python、R、Ruby 等)编写的包。
Installs packages from the Anaconda repository or other configured channels.
从 Anaconda 存储库或其他配置的通道安装包。
Automatically manages dependencies and environments.
自动管理依赖项和环境。

1.2. Environment Management

Pip: 点:
Requires virtual environments (e.g., using venv or virtualenv) for managing project environments.
需要虚拟环境(例如,使用 venv 或 virtualenv)来管理项目环境。
Doesn’t natively support environment management.
本身不支持环境管理。
Conda:
Built-in environment management feature.
内置环境管理功能。
Allows you to create, export, and manage multiple isolated environments easily.
允许您轻松创建、导出和管理多个隔离环境。

1. 3. Dependency Resolution

  1. 依赖项解析
    Pip: 点:
    Performs dependency resolution during installation but may not handle complex dependencies well.
    在安装过程中执行依赖项解析,但可能无法很好地处理复杂的依赖项。
    Can lead to “dependency hell” if conflicts arise.
    如果出现冲突,可能会导致 “依赖地狱”。
    Conda: 康达:
    Uses a more sophisticated dependency resolver.
    使用更复杂的依赖关系解析程序。
    Ensures that all dependencies are compatible before installation, reducing conflicts.
    安装前确保所有依赖项兼容,减少冲突。

1. 4. Installation Speed

  1. 安装速度
    Pip:
    Generally installs packages from source, which can take longer.
    通常从源安装包,这可能需要更长的时间。
    May require compilation for some packages.
    可能需要对某些软件包进行编译。
    Conda:
    Often installs precompiled binaries, leading to faster installation times.
    通常会安装预编译的二进制文件,从而加快安装时间。
    Ideal for data science packages that may have complex dependencies.
    非常适合可能具有复杂依赖项的数据科学包。

1.5. Use Cases 5.

使用案例
Pip: :
Best suited for standard Python projects where you need packages from PyPI.
最适合需要 PyPI 软件包的标准 Python 项目。
Common in web development and general Python programming.
常见于 Web 开发和通用 Python 编程。

Conda:
Preferred in data science, machine learning, and scientific computing where complex dependencies are common.
在数据科学、机器学习和科学计算中,复杂依赖关系很常见,这是首选。
Useful for users working with multiple languages and environments.
对于使用多种语言和环境的用户非常有用。

Conclusion 结论
Both pip and conda have their strengths. If you’re primarily working with Python and need access to a wide range of Python packages, pip is a good choice. However, if you’re dealing with complex dependencies or require a multi-language environment, conda is often the better option.
pip 和 conda 都有其优势。如果您主要使用 Python 并且需要访问各种 Python 包,pip 是一个不错的选择。但是,如果您正在处理复杂的依赖项或需要多语言环境,conda 通常是更好的选择。

2. 具体包查看

To view an installed package using the conda command, you can follow these steps:

1. Open Your Terminal or Command Prompt

Make sure you have conda installed and accessible in your terminal or command prompt.

2. Activate the Desired Environment (if necessary)

If you have multiple environments and the package is installed in a specific one, activate that environment first:

conda activate your_environment_name

3. List Installed Packages

To view all installed packages in the current environment, use:

conda list

pip 对应的命令是 pip list;
This command will display a list of all packages along with their versions.

4. View a Specific Package

If you want to check details about a specific package, you can filter the list or use the following command:

conda list package_name

pip 对应的命令是 pip show package_name;

Replace package_name with the name of the package you want to view.

5. Get More Information About a Package

To get more detailed information about a specific package, including its dependencies, use:

conda info package_name

This will provide additional details about the package, such as its version, build, and dependencies.

Example

conda activate myenv
conda list numpy
conda info numpy

This will show you the installed version of NumPy in the myenv environment and provide detailed info about it.

3. install and 卸载

使用 conda 安装时, 先更新自己的conda;

如果您使用的是旧版本的 Conda,它可能没有最新的软件包列表。您可以通过以下方式更新 Conda:

conda update condaconda install librosa youtube-dl sox -c conda-forge
conda install -y pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

-y:此选项在安装过程中自动对所有提示回答 “yes”。如果没有 -y,conda 将在继续安装软件包之前要求确认。-y 标志确保安装继续进行,无需用户干预。

-c: This option specifies the channels from which to pull the packages. In this case, you have two channels specified:-c:此选项指定要从中提取包的通道。在本例中,您指定了两个通道:

-c pytorch: This tells conda to search and install the packages from the pytorch channel.-c pytorch:这告诉 conda 从 pytorch 通道搜索并安装软件包。

-c nvidia: This tells conda to also search the nvidia channel for packages.-c nvidia:这会告诉 conda 也搜索 nvidia 通道中的软件包。

3.1 install

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 cudatoolkit=11.2 -c pytorch
# ROCM 5.2 (Linux only)
pip install torch==1.13.1+rocm5.2 torchvision==0.14.1+rocm5.2 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/rocm5.2
# CUDA 11.6
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
# CUDA 11.7
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
# CPU only
pip install torch==1.13.1+cpu torchvision==0.14.1+cpu torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cpu

3.2 安装出现包不存在时

Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  • cudatoolkit=11.2

Current channels:

  • https://conda.anaconda.org/pytorch/linux-64
  • https://conda.anaconda.org/pytorch/noarch
  • https://repo.anaconda.com/pkgs/main/linux-64
  • https://repo.anaconda.com/pkgs/main/noarch
  • https://repo.anaconda.com/pkgs/r/linux-64
  • https://repo.anaconda.com/pkgs/r/noarch

It seems that cudatoolkit=11.2 might not be available in the channels you’re using. Let’s try a few steps to resolve this issue.似乎 cudatoolkit=11.2 可能在您使用的频道中不可用。让我们尝试几个步骤来解决此问题。

1. Add the nvidia Channel1. 添加 nvidia 频道

The cudatoolkit package, especially older versions, is sometimes available in the nvidia channel. Let’s add this channel explicitly to ensure compatibility:cudatoolkit 包,尤其是旧版本,有时在 nvidia 频道中可用。让我们显式添加此通道以确保兼容性:

conda config --add channels nvidia

2. **Search for Available Versions of cudatoolkit**2. 搜索 cudatoolkit 的可用版本

You can search for available versions of cudatoolkit to make sure 11.2 is available:您可以搜索 cudatoolkit 的可用版本以确保 11.2 可用:

conda search cudatoolkit

This will list all the available versions. If version 11.2 isn’t available, choose the closest supported version (e.g., 11.3 or 11.1) and adjust the installation command.这将列出所有可用版本。如果版本 11.2 不可用,请选择最接近的支持版本(例如 11.3 或 11.1)并调整安装命令。

3. Reinstall PyTorch 1.13.1 with the Correct CUDA Toolkit3. 使用正确的 CUDA 工具包重新安装 PyTorch 1.13.1

After checking the available versions, modify the install command accordingly. Here’s the original command updated with nvidia and pytorch channels for installation:检查可用版本后,相应地修改 install 命令。以下是使用 nvidiapytorch 通道更新的原始命令以进行安装:

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 cudatoolkit=11.2 -c pytorch -c nvidia

If 11.2 is unavailable, adjust the cudatoolkit version:如果 11.2 版本不可用,请调整 cudatoolkit 版本:

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 cudatoolkit=11.3 -c pytorch -c nvidia

4. Update Conda4. 更新 Conda

If the package is still not found, you might want to update Conda to ensure you have the latest environment information:如果仍未找到包,您可能需要更新 Conda 以确保您拥有最新的环境信息:

conda update conda

5. Verify the Installation5. 验证安装

After installation, verify everything by running:安装后,通过运行以下命令来验证所有内容:

import torch
print(torch.__version__)           # Should return '1.13.1'
print(torch.cuda.is_available())   # Should return True
print(torch.version.cuda)          # Should return '11.x'

Let me know if this works!让我知道这是否有效!

3.2 uninstall

conda remove package name
pip uninstall package name

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/440073.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL高阶2004-职员招聘人数

目录 题目 准备数据 分析数据 实现 题目 一家公司想雇佣新员工。公司的工资预算是 70000 美元。公司的招聘标准是: 雇佣最多的高级员工。在雇佣最多的高级员工后,使用剩余预算雇佣最多的初级员工。 编写一个SQL查询,查找根据上述标准雇…

男单新老对决:林诗栋VS马龙,巅峰之战

听闻了那场激动人心的新老对决,不禁让人热血沸腾。在这场乒乓球的巅峰之战中,林诗栋与马龙的对决无疑是一场视觉与技术的盛宴。 3:3的决胜局,两位选手的每一次挥拍都充满了策略与智慧,他们的每一次得分都让人心跳加速。 林诗栋&am…

Linux自动化构建工具Make/Makefile

make是一个命令 makefile是一个文件 touch 创建并用vim打开makefile 写入依赖对象和依赖方法 mycode是目标文件 第二行数依赖方法 以tab键开头 make makefile原理 makefile中写的是依赖关系和依赖方法 clean英语清理文件 后不用加源文件。.PHONY定义clean是伪目标。 make只…

动态SLAM总结二

文章目录 Mapping the Static Parts of Dynamic Scenes from 3D LiDAR Point Clouds Exploiting Ground Segmentation:(2021)RF-LIO:(2022)RH-Map:(2023)Mapless Online …

[C++]使用纯opencv部署yolov11-pose姿态估计onnx模型

【算法介绍】 使用纯OpenCV部署YOLOv11-Pose姿态估计ONNX模型是一项具有挑战性的任务,因为YOLOv11通常是用PyTorch等深度学习框架实现的,而OpenCV本身并不直接支持加载和运行PyTorch模型。然而,可以通过一些间接的方法来实现这一目标&#x…

POLYGON Nature - Low Poly 3D Art by Synty 树木植物

一个低多边形资源包,包含可以添加到现有多边形风格游戏中的树木、植物、地形、岩石、道具和特效 FX 资源。 为 POLYGON 系列提供混合样式树这一新增功能。弥合 POLYGON 与更传统的层级资源之间的差距。还提供了一组经典的 POLYGON 风格的树木和植被以满足你的需求。 该包还附带…

系统安全 - Linux /Docker 安全模型及实践

文章目录 导图Linux安全Linux 安全模型用户层权限管理的细节多用户环境中的权限管理文件权限与目录权限 最小权限原则的应用Linux 系统中的认证、授权和审计机制认证机制授权机制审计机制 小结 内网安全Docker安全1. Docker 服务隔离机制Namespace 机制Capabilities 机制CGroup…

JavaWeb - 8 - 请求响应 分层解耦

请求响应 请求(HttpServletRequest):获取请求数据 响应(HttpServletResponse):设置响应数据 BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程…

Oracle中MONTHS_BETWEEN()函数详解

文章目录 前言一、MONTHS_BETWEEN()的语法二、主要用途三、测试用例总结 前言 在Oracle数据库中,MONTHS_BETWEEN()函数可以用来计算两个日期之间的月份差。它返回一个浮点数,表示两个日期之间的整月数。 一、MONTHS_BETWEEN()的语法 MONTHS_BETWEEN(dat…

水下声呐数据集,带标注

水下声呐数据集,带标注 水下声呐数据集 数据集名称 水下声呐数据集 (Underwater Sonar Dataset) 数据集概述 本数据集是一个专门用于训练和评估水下目标检测与分类模型的数据集。数据集包含大量的水下声呐图像,每张图像都经过专业标注,标明…

vSAN05:vSAN延伸集群简介与创建、资源要求与计算、高级功能配置、维护、故障处理

目录 vSAN延伸集群延伸集群创建延伸集群的建议网络配置vSAN延伸集群的端口见证主机的资源要求vSAN延伸集群中见证节点带宽占用vSAN延伸集群的允许故障数vSAN延伸集群不同配置下的空间占用 vSAN延伸集群的HA配置vSAN延伸集群的DRS配置vSAN存储策略以及虚拟机/主机策略的互操作vS…

华为最新业绩出炉!上半年营收4175亿元,同比增长34%!

华为2024年上半年经营业绩分析:稳健发展,符合预期 [中国,深圳,2024年8月29日] 今日,华为发布了其2024年上半年的经营业绩,整体表现稳健,结果符合预期。在复杂多变的全球市场环境下,华为凭借强大的创新能力和市场洞察力,实现了销售收入和净利润的显著增长。 上半年,华…

C语言:预编译过程的剖析

目录 一.预定义符号和#define定义常量 二.#define定义宏 三.宏和函数的对比 四、#和##运算符 五、条件编译 在之前,我们已经介绍了.c文件在运行的过程图解,大的方面要经过两个方面。 一、翻译环境 1.预处理(预编译) 2.编译 3…

Spring Boot 整合 Keycloak

1、概览 本文将带你了解如何设置 Keycloak 服务器,以及如何使用 Spring Security OAuth2.0 将 Spring Boot 应用连接到 Keycloak 服务器。 2、Keycloak 是什么? Keycloak 是针对现代应用和服务的开源身份和访问管理解决方案。 Keycloak 提供了诸如单…

Unity MVC框架演示 1-1 理论分析

本文仅作学习笔记分享与交流,不做任何商业用途,该课程资源来源于唐老狮 1.一般的图解MVC 什么是MVC我就不说了,老生常谈,网上有大量的介绍,想看看这三层都起到什么职责?那就直接上图吧 2.我举一个栗子 我有…

人工智能新闻和发展 (24001)- By 10/4/2024

1. 谷歌增强了搜索中的人工智能,允许对图像进行语音提问。 Google adding AI to answer voiced questions about images | AP NewsGoogle is pumping more artificial intelligence into its search engine. New features will enable people to voice questions a…

15分钟学 Python 第39天:Python 爬虫入门(五)

Day 39:Python 爬虫入门数据存储概述 在进行网页爬虫时,抓取到的数据需要存储以供后续分析和使用。常见的存储方式包括但不限于: 文件存储(如文本文件、CSV、JSON)数据库存储(如SQLite、MySQL、MongoDB&a…

无神论文解读之ControlNet:Adding Conditional Control to Text-to-Image Diffusion Models

一、什么是ControlNet ControlNet是一种能够控制模型生成内容的方法,能够对文生图等模型添加限制信息(边缘、深度图、法向量图、姿势点图等),在当今生成比较火的时代很流行。 这种方法使得能够直接提供空间信息控制图片以更细粒…

PCL 1.8.1 + VTK 1.8.0 + QT5.14.2+ VS2017 环境搭建

先看看效果: PCL 1.8.1下载安装: Tags PointCloudLibrary/pcl GitHub 安装完成后: 如果VTK想重新编译的,可以看我的这篇博客:

Spring14——案例:利用AOP环绕通知计算业务层接口执行效率

前面介绍了这么多种通知类型,具体该选哪一种呢? 我们可以通过一些案例加深下对通知类型的学习。 34-案例:利用AOP环绕通知计算业务层接口执行效率 需求分析 这个需求也比较简单,前面我们在介绍AOP的时候已经演示过: 需求:任意业务层接口…