conda和pip区别,安装package包,虚拟环境

目录

    • 0. 准备工作
    • 1. conda和pip区别
      • 1.0 安装方式
        • 1.0.0 依赖数据库
        • 1.0.1 安装范围
        • 1.0.2 各自优势
        • 1.0.3 安装方式优先级
      • 1.1 conda
      • 1.2 pip
      • 1.3 其他
        • 1.3.1 关于`conda install -c conda-forge package_name`中的`-c`
    • 2. 使用pip安装包
      • 2.0 为什么安装包
      • 2.1 查看已安装包列表
      • 2.2 安装
      • 2.3 卸载
      • 2.4 其他
    • 3. 虚拟环境
      • 3.0 为什么创建envs
      • 3.1 查看环境列表
      • 3.2 安装(eg:pytorch)
      • 3.3卸载
      • 3.4 查看虚拟环境安装地址
      • 3.5 pycharm中导入虚拟环境
      • 3.6 jupyter notebook中导入虚拟环境
      • 3.7 虚拟环境没有安装在自定义路径
    • 4. jupyter
      • 4.1 jupyter notebook[默认工作目录](https://www.bilibili.com/video/BV1pL4y157DV)设置
      • 4.2 jupyter notebook安装 目录 插件

0. 准备工作

  • 说在前面:我一般都是在 Anaconda Prompt操作
  • 查看python版本,输入python -V
    python

1. conda和pip区别

1.0 安装方式

1.0.0 依赖数据库

  1. conda install:依赖于 anaconda 数据库https://www.anaconda.com/和 bioconda 数据库https://bioconda.github.io/
  2. pip install:依赖于 PyPI 数据库 https://pypi.org/
  3. git clone:是克隆 github 项目 https://github.com/
  4. 源码包:主要来源于 PyPI 数据库

1.0.1 安装范围

  • conda install 的安装范围不仅仅局限于 python package,也就是除了安装 python package,还能安装通用 linux 软件,gcc 库等。但 conda install 所能安装的 python package 数量要远远少于 pip install。如果通过 conda install 安装 package,可以先在 anaconda 数据库检索 conda 是否提供该包的安装。
    conda install packagename

  • pip install:绝大多数的 python package 都可以通过 pip install packagename 命令直接安装。当然是否报错就需要另当别论。
    pip install packagename

  • git clone:严格来说 git clone 并不是一种安装方式,只不过是将 package 从 github 上克隆下来,然后利用 pip install 进行安装,和2存在交叉。前边说了绝大多数的 python package 都可以通过 pip install packagename 命令直接安装,那么就还用一小部分 python package 是无法直接安装的。某些 package 只存在于 github 数据库中而没有上传到 PyPI 数据库,这时就需要先将 package 从 github 克隆到本地,然后通过 pip install . 命令安装

git clone link_to_packagename
cd packagename
pip install .
  • 源码安装:这种方式一般是走投无路才会选择的安装方式,缺失依赖包会直接报错,然后根据报错手动安装所有的依赖包
    python setup.py install

1.0.2 各自优势

  • conda install package:强大的安装方式,能够自动解决依赖包/依赖软件的安装(不仅仅只是 python package,还有其他的软件)

  • pip install package:基本支持所有的 python package 的直接安装,同时安装依赖包。某些只存在 github 数据库的 package 也是先克隆到本地,然后用 pip install 安装

  • 源码安装是最后的选择

1.0.3 安装方式优先级

  • conda install package 和 pip install package 这两种方式优先使用哪一种都没关系,但需要考虑 package 调用顺序优先级以及避免重复安装,优先使用哪种就要一直保持,不能这次安装 package A 用 conda install 方式,下次安装 package B 用 pip install,如果经常这样安装 package 在以后调用的时候很可能报错。

  • 个人经验 pip install package > conda install package > pip install git_clone > 源码安装

1.1 conda

  1. [简介]
  • conda是一个通用的包管理器,什么语言的包都可以用其进行管理,自然也就包括Python。
  • 在安装Anaconda或者Miniconda时,会对conda进行一同安装。
  • Anaconda作为Python的发行版,相当于在Python的基础上自带了常用第三方库。
  • Miniconda相当于是一个conda环境的安装程序,只包含了conda及其依赖项,减少一些不需要的第三方库的安装,所以占用的空间很小。
  1. conda安装
  • 在Anaconda中,无论在哪个环境下,通过conda install xxx的方式安装的库都会放在Anaconda的pkgs目录F:\APP\install\Anaconda\pkgs下.
  • python环境中的库:F:\APP\install\Anaconda\lib\site-packages,其他环境中的库:F:\APP\install\Anaconda\envs\环境名\Lib\site-packages
  • 好处:当在python环境中已经下载好了库a,在pytorch环境中还需要库a时。可以将python环境F:\APP\install\Anaconda\lib\site-packages中的库a 复制到 pytorch环境中F:\APP\install\Anaconda\envs\环境名\Lib\site-packages。(这个过程相当于通过pip install xxx进行了安装,而不用重复下载。)
  1. conda卸载
  • 通过conda uninstall xxx删除环境A中的库a时,删除的只是环境AF:\APP\install\Anaconda\envs\环境A\Lib\site-packages中的库a。效果和pip uninstall xxx一样。
  • 如果再次在环境B中通过conda install xxx下载库a,依旧通过将pkgs目录F:\APP\install\Anaconda\pkgs下的库a复制到当前环境BF:\APP\install\Anaconda\envs\环境B\Lib\site-packages)中。
  • 清空pkgsF:\APP\install\Anaconda\pkgs中的已下载库,conda clean -h

1.2 pip

  1. 简介
  • pip也是一个包管理器,并且是Python官方认可的包管理器。
  • pip的含义是Pip Installs Packages。
  • 经常用于安装在Python包索引上发布的包。因此,在通过conda list命令查看当前环境下已安装的包时,通过pip的源是pypi。(Python包索引:PyPI, Python Package Index https://pypi.python.org/pypi)
  1. pip安装
  • 查看pip下载安装位置:打开命令行输入 python -m site ,一般默认是在C盘下

  • 修改pip install 默认安装位置:

  1. 查看pip下载安装位置:打开命令行输入 python -m site ,一般默认是在C盘下
  2. 查看一个示例,输入pip show 包名。eg:pip show allennlp,确认实在C盘中。
  3. 输入python -m site -help 查找配置文件。(PS:base系统环境和虚拟环境的路径不一样,需要分别输入python -m site -help ,分别修改对应的site.py)
  4. 打开F:\APP\install\Anaconda\Lib\site.py文件,修改site.py文件下图红框中的内容。
    USER_SITE改为:F:\APP\install\Anaconda\Lib\site-packages
    USER_BASE改为:F:\APP\install\Anaconda\Scripts

    修改后,如下图:
  5. 将原路径中下载的包,移动到对应的新路径:①C:\Users\23622\AppData\Roaming\Python\Python39\Scripts—>F:\APP\install\Anaconda\Scripts
    C:\Users\23622\AppData\Roaming\Python\Python39\site-packages—>F:\APP\install\Anaconda\Lib\site-packages
  6. 测试,再次输入pip show allennlp,位置已经改为:F:\APP\install\Anaconda\Lib\site-packages
  1. pip卸载
  • pip是在特定的环境中安装库,所以卸载库也一样,通过pip uninstall xxx就可以卸载特定环境F:\APP\install\Anaconda\envs\特定环境名\Lib\site-packages中的库。

1.3 其他

1.3.1 关于conda install -c conda-forge package_name中的-c

-c 即 -channel
通道是Navigator和conda查找包的位置,具有相同名称的(source)包可能存在于多个通道上。
如果希望从默认通道(anaconda)以外的其他通道安装,则指定要使用哪个通道。
语法:conda install -c channel_name package_name
eg:如果要安装torch,对应通道有:下图对应网址

eg:输入通道conda-forge可以查看包含的package。下图对应的网址。
conda-forge

2. 使用pip安装包

可以通过conda和pip安装,这里使用pip

2.0 为什么安装包

在一个文件夹中安装所有必需的软件包,以便我可以将它移动到另一台计算机上,并且只安装CPython来运行我的程序(我不想在此计算机上安装任何软件包)
参考

2.1 查看已安装包列表

pip list

2.2 安装

参考

  1. 一般
    pip install 包名
  2. 安装特定版本(eg,diangoV1.15)
    pip install django==1.1.5 (在python中,=代表赋值,==代表等于)

2.3 卸载

详细版本

  1. pip list,查看包
  2. 查看包(eg,django)的详细信息
    pip show django
  3. 删除
    pip uninstall django—>y
  4. 不需要输入y 的删除
    pip uninstall -y django
  5. 删除特定用户的包
    pip uninstall --用户名 django

2.4 其他

  1. 显示可升级的包
    pip list -o
  2. 下载包而不安装
    pip install 包名 -d 目录pip install -d 目录 -r requirements.txt
  3. 导出python环境
    pip freeze > requestment.txt
    获取到当前环境下的所有安装包的版本,有助于以后布置别台电脑,可以避免bug,从而导入跟现在一样的环境。
  4. 从导出的python环境中安装所需要的包
    pip install –r requestment.txt
  5. 卸载导出的python环境中的包
    pip uninstall –r requestment.txt
  6. 更换国内pypi镜像(推荐临时使用这些源)
    pip install 包名 -i http://pypi.v2ex.com/simple
    阿里:https://mirrors.aliyun.com/pypi/simple
    豆瓣:http://pypi.douban.com/simple
    中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/
  7. 更换清华源镜像(永久更改)
  1. 查看python版本: python
  2. 查看pip版本 是否需要升级: pip -V
  3. 升级pip(版本<10时): pip install pip -U
    如果升级不了,那么直接使用清华源来升级pip:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
  4. 配置默认镜像站:
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

3. 虚拟环境

可以通过conda和pip安装,这是用的是conda。

3.0 为什么创建envs

  1. 所有的项目的库都放到一个地方容易混乱,而且比较冗余,毕竟不是所有的项目都需要那么多的库
  2. 因为工作以后都是分工协作的,这个项目能在你电脑上运行,但是到了别人那如果没有安装相应的库就无法运行,所以需要大家能够在库上进行同步
  3. 不同的项目对同一个库版本要求不一样,如果A项目要求一个库的版本低,B项目的要求同一个库版本高,运行B项目升级了这个库覆盖前一个版本,就会导致A项目无法运行

3.1 查看环境列表

conda env list或者conda info --envs

3.2 安装(eg:pytorch)

  1. 输入:conda create -n pytorch python=3.6
    conda create -n 环境名 python=python版本
    输入:y,同意安装包
  2. 安装成功,conda activate pytorch激活pytorch虚拟环境,pip list查看该虚拟环境下的包
  3. 退出虚拟环境deactivate

3.3卸载

输入:conda env remove --name 环境名

3.4 查看虚拟环境安装地址

  1. 输入:conda config --show
    查看envs_dirs,一般第一个路径是默认路径。
  2. 目录F:\APP\install\Anaconda\envs

3.5 pycharm中导入虚拟环境

  1. 打开pycharm—>file—>settings—>project: Pycharm project—>python Interpreter
  2. 没有点击show All—>点击 +
  3. 点击Conda Environment—>选择Exist environment—>选择虚拟环境所在目录F:\APP\install\Anaconda\envs里找到python.exe。
  4. 一直OK,保存设置。

3.6 jupyter notebook中导入虚拟环境

  1. 先激活想要添加的虚拟环境
    pip list:查看虚拟环境列表
    conda activate d2l:激活虚拟环境d2l
  2. 输入pip install ipykernel ipython
  3. 输入ipython kernel install --user --name d2l
    出现:Installed kernelspec d2l in C:\Users\Sir\AppData\Roaming\jupyter\kernels\d2l
    表示安装成功。
  4. 打开Jupyter notebook,会看到原本只有Python3的地方,多了一个虚拟环境d2l
  5. 删除已经成功添加的虚拟环境d2l:
    先激活想要添加的虚拟环境,conda activate d2l:激活虚拟环境d2l
    输入jupyter kernelspec remove pytorch1.6—>输入y,表示同意删除。
  6. 打开Jupyter notebook,会发现没有虚拟环境d2l

3.7 虚拟环境没有安装在自定义路径

正确情况:应该为anaconda自定义安装的路径。

错误情况:安装在C盘(如下图)

解决办法:

  1. 查看conda 信息
    输入conda info 或 conda config --show,查看envs_dirs,确实默认在C盘:

  2. 解决方法尝试
    尝试1:输入下面的修改路径(出错)

conda config --add envs_dirs newdir # 增加环境路径
conda config --remove envs_dirs newdir  # 删除环境路径
  1. 最终解决方法:
    添加环境位置
    找到.condarc文件:C:\Users\用户名\.condarc。通过记事本打开,并添加
envs_dirs:
  - F:\APP\install\Anaconda\envs #新的环境保存位置

保存后,再次试一下创建环境,此时环境位置是指定的位置。

输入conda config --show确认:

解决办法-参考

4. jupyter

4.1 jupyter notebook默认工作目录设置

  1. 打开C:\Users\23622\.jupyter,找到
  2. 找到c.NotebookApp.notebook_dir
  3. #删除,在' '中填入确定修改后的地址F:\APP\data\Jupyter
  4. 更改快捷方式的属性,路径为C:\Users\23622\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)

    目标(T): 将.py后的内容删除。
    起始位置(S): 更改为F:\APP\data\Jupyter

4.2 jupyter notebook安装 目录 插件

  • 安装
# 1.安装nbextensions插件
pip install jupyter_contrib_nbextensions
# 2.安装 javascript and css files
pip install jupyter_contrib_nbextensions
# 3.安装configurator
pip install jupyter_nbextensions_configurator
  • 效果
    启动 Jupyter Notebook–>点击nbextension–>选择Table of Contents ⑵。

    打开文件–>点击如下图所示图标
  • 卸载
pip uninstall jupyter_contrib_nbextensions
pip uninstall jupyter_nbextensions_configurator

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年5月13日
下一篇 2023年5月13日

相关推荐