Python:conda install 和pip install的区别

pip是个安装包的软件,conda是个环境管理的工具。conda能够安装多个python解释器,pip不行。因此conda在实际开发中是主要用来隔离不同的python版本和Tensorflow&Pytorch的环境(env)的。

一般Python可分为系统自带的和在conda中安装的。我们可以用下列命令查看本机上所有可用的Python环境:

(base) orion-orion@MacBook-Pro /usr % python -m site
sys.path = [
    '/usr',
    '/Users/orion-orion/miniforge3/lib/python39.zip',
    '/Users/orion-orion/miniforge3/lib/python3.9',
    '/Users/orion-orion/miniforge3/lib/python3.9/lib-dynload',
    '/Users/orion-orion/miniforge3/lib/python3.9/site-packages',
]
USER_BASE: '/Users/orion-orion/.local' (exists)
USER_SITE: '/Users/orion-orion/.local/lib/python3.9/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

然后我们再说两种方式:

conda install xxx:这种方式安装的库都会放在/Users/orion-orion/miniforge3/pkgs目录下。这样的好处是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载。

pip install xxx:这是就要两种情况,一种情况就是此时使用的是conda中安装的python,那么xxx会被安装到/Users/orion-orion/miniforge3/lib/python3.9/site-packages文件夹中;如果当前用的是系统的python,那么xxx会通常会被安装到/Users/orion-orion/.local/lib/python3.9/site-packages文件夹中

下面我们来看下conda中的python环境。我们可以用命令conda info --env来查看当前的所有conda环境:

(base) orion-orion@MacBook-Pro miniforge3 % conda info --env
# conda environments:
#
base                  *  /Users/orion-orion/miniforge3

这里我们只有初始的base环境,即/Users/orion-orion/miniforge3目录,此环境中Python的安装目录为:

/Users/orion-orion/miniforge3/lib/python3.9

而该Python版本对应的包的目录为:

/Users/orion-orion/miniforge3/lib/python3.9/site-packages

可以看到,这个目录下即我们所安装的Python包:

(base) orion-orion@MacBook-Pro site-packages % ls |grep torch
torch
torch-1.8.0.dist-info
torch_tb_profiler
torch_tb_profiler-0.3.1.dist-info
torchtext
torchtext-0.6.0.dist-info
torchvision
torchvision-0.9.0a0.dist-info

参考

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python:conda install 和pip install的区别 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • Python:对程序做性能分析及计时统计

    1.对整个程序的性能分析 如果只是想简单地对整个程序做计算统计,通常使用UNIX下的time命令就足够了。 (base) ➜ Learn-Python time python someprogram.py python someprogram.py 0.10s user 0.01s system 98% cpu 0.117 total 由于我用的是Mac系统…

    Python开发 2023年4月2日
    00
  • Linux:管道命令与文本处理三剑客(grep、sed、awk)

    1 管道命令(pipe)介绍 众所周知,bash命令执行的时候会输出信息,但有时这些信息必须要经过几次处理之后才能得到我们想要的格式,此时应该如何处置?这就牵涉到 管道命令(pipe) 了。管道命令使用的是|这个界定符号。另外,管道命令与连续执行命令是不一样的,这点下面我们会说明。 我们先来看一个管道命令的例子。假设我们需要看/etc目录下有多少文件,那么可…

    Linux 2023年4月18日
    00
  • Python:用argparse模块解析命令行选项

    1. 用argparse模块解析命令行选项 我们在上一篇博客《Linux:可执行程序的Shell传参格式规范》中介绍了Linux系统Shell命令行下可执行程序应该遵守的传参规范(包括了各种选项及其参数)。Python命令行程序做为其中一种,其传参中也包括了位置参数(positional arguments)和可选参数(optional arguments)…

    2023年4月2日
    00
  • Linux:进程模型和进程管理

    1 进程与程序 在Linux系统中,执行一个程序或命令就可以触发一个进程,系统会给予这个进程一个ID,称为PID,同时根据触发这个进程的用户与相关属性关系,基于这个PID一组有效的权限设置。如下图所示(图片来自《鸟哥的Linux私房菜》[1]): 举个常见的例子,我们要操作系统的时候通常是利用ssh连接程序或直接在主机上登录,然后获取shell。默认的she…

    Linux 2023年4月17日
    00
  • Git:国内用命令行访问GitHub的方法

    1 直接改Hosts文件(现在不太管用了) 如果你是Linux或Mac系统,那么可以通过命令sudo vim /etc/hosts打开Hosts文件,并加入以下内容: 140.82.114.25 alive.github.com 140.82.112.25 live.github.com 185.199.108.154 github.githubassets…

    Linux 2023年4月17日
    00
  • Python:浮点数取整、格式化和NaN处理

    1. 取整的三种方法 1.1 强转int类型 这种方法会直接对浮点数的小数部分进行截断(无论是正还是负)。 print(int(2.7)) # 2 print(int(-2.7)) # -2 PS: 上面所调用的int()函数实际上可视为调用int这个类的__new__()方法。事实上我还见过代码用下面这种奇技淫巧写法来创建int对象: type = int…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部