目录
- 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
1. conda和pip区别
1.0 安装方式
1.0.0 依赖数据库
- conda install:依赖于 anaconda 数据库https://www.anaconda.com/和 bioconda 数据库https://bioconda.github.io/
- pip install:依赖于 PyPI 数据库 https://pypi.org/
- git clone:是克隆 github 项目 https://github.com/
- 源码包:主要来源于 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
- [简介]
- conda是一个通用的包管理器,什么语言的包都可以用其进行管理,自然也就包括Python。
- 在安装Anaconda或者Miniconda时,会对conda进行一同安装。
- Anaconda作为Python的发行版,相当于在Python的基础上自带了常用第三方库。
- Miniconda相当于是一个conda环境的安装程序,只包含了conda及其依赖项,减少一些不需要的第三方库的安装,所以占用的空间很小。
- 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进行了安装,而不用重复下载。)
- 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
)中。 - 清空pkgs
F:\APP\install\Anaconda\pkgs
中的已下载库,conda clean -h
1.2 pip
- 简介
- pip也是一个包管理器,并且是Python官方认可的包管理器。
- pip的含义是Pip Installs Packages。
- 经常用于安装在Python包索引上发布的包。因此,在通过conda list命令查看当前环境下已安装的包时,通过pip的源是pypi。(Python包索引:PyPI, Python Package Index https://pypi.python.org/pypi)
- pip安装
-
查看pip下载安装位置:打开命令行输入
python -m site
,一般默认是在C盘下
-
修改pip install 默认安装位置:
- 查看pip下载安装位置:打开命令行输入
python -m site
,一般默认是在C盘下- 查看一个示例,输入
pip show 包名
。eg:pip show allennlp
,确认实在C盘中。
- 输入
python -m site -help
查找配置文件。(PS:base系统环境和虚拟环境的路径不一样,需要分别输入python -m site -help
,分别修改对应的site.py)
- 打开
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
修改后,如下图:
- 将原路径中下载的包,移动到对应的新路径:①
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
- 测试,再次输入
pip show allennlp
,位置已经改为:F:\APP\install\Anaconda\Lib\site-packages
- 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。下图对应的网址。
2. 使用pip安装包
可以通过conda和pip安装,这里使用pip
2.0 为什么安装包
在一个文件夹中安装所有必需的软件包,以便我可以将它移动到另一台计算机上,并且只安装CPython来运行我的程序(我不想在此计算机上安装任何软件包)
参考
2.1 查看已安装包列表
pip list
2.2 安装
参考
- 一般
pip install 包名
- 安装特定版本(eg,diangoV1.15)
pip install django==1.1.5
(在python中,=代表赋值,==代表等于)
2.3 卸载
详细版本
pip list
,查看包
- 查看包(eg,django)的详细信息
pip show django
- 删除
pip uninstall django
—>y
- 不需要输入y 的删除
pip uninstall -y django
- 删除特定用户的包
pip uninstall --用户名 django
2.4 其他
- 显示可升级的包
pip list -o
- 下载包而不安装
pip install 包名 -d 目录
或pip install -d 目录 -r requirements.txt
- 导出python环境
pip freeze > requestment.txt
获取到当前环境下的所有安装包的版本,有助于以后布置别台电脑,可以避免bug,从而导入跟现在一样的环境。 - 从导出的python环境中安装所需要的包
pip install –r requestment.txt
- 卸载导出的python环境中的包
pip uninstall –r requestment.txt
- 更换国内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/ - 更换清华源镜像(永久更改)
- 查看python版本:
python
- 查看pip版本 是否需要升级:
pip -V
- 升级pip(版本<10时):
pip install pip -U
如果升级不了,那么直接使用清华源来升级pip:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
- 配置默认镜像站:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
3. 虚拟环境
可以通过conda和pip安装,这是用的是conda。
3.0 为什么创建envs
- 所有的项目的库都放到一个地方容易混乱,而且比较冗余,毕竟不是所有的项目都需要那么多的库
- 因为工作以后都是分工协作的,这个项目能在你电脑上运行,但是到了别人那如果没有安装相应的库就无法运行,所以需要大家能够在库上进行同步
- 不同的项目对同一个库版本要求不一样,如果A项目要求一个库的版本低,B项目的要求同一个库版本高,运行B项目升级了这个库覆盖前一个版本,就会导致A项目无法运行
3.1 查看环境列表
conda env list
或者conda info --envs
3.2 安装(eg:pytorch)
- 输入:
conda create -n pytorch python=3.6
conda create -n 环境名 python=python版本
输入:y
,同意安装包
- 安装成功,
conda activate pytorch
激活pytorch虚拟环境,pip list
查看该虚拟环境下的包
- 退出虚拟环境
deactivate
3.3卸载
输入:conda env remove --name 环境名
3.4 查看虚拟环境安装地址
- 输入:
conda config --show
查看envs_dirs
,一般第一个路径是默认路径。
- 目录
F:\APP\install\Anaconda\envs
3.5 pycharm中导入虚拟环境
- 打开pycharm—>file—>settings—>project: Pycharm project—>python Interpreter
- 没有点击show All—>点击 +
- 点击Conda Environment—>选择Exist environment—>选择虚拟环境所在目录
F:\APP\install\Anaconda\envs
里找到python.exe。
- 一直OK,保存设置。
3.6 jupyter notebook中导入虚拟环境
- 先激活想要添加的虚拟环境
pip list
:查看虚拟环境列表
conda activate d2l
:激活虚拟环境d2l - 输入
pip install ipykernel ipython
- 输入
ipython kernel install --user --name d2l
出现:Installed kernelspec d2l in C:\Users\Sir\AppData\Roaming\jupyter\kernels\d2l
表示安装成功。 - 打开Jupyter notebook,会看到原本只有Python3的地方,多了一个虚拟环境d2l
- 删除已经成功添加的虚拟环境d2l:
先激活想要添加的虚拟环境,conda activate d2l
:激活虚拟环境d2l
输入jupyter kernelspec remove pytorch1.6
—>输入y
,表示同意删除。 - 打开Jupyter notebook,会发现没有虚拟环境d2l
3.7 虚拟环境没有安装在自定义路径
正确情况:应该为anaconda自定义安装的路径。
错误情况:安装在C盘(如下图)
解决办法:
-
查看conda 信息
输入conda info 或 conda config --show
,查看envs_dirs
,确实默认在C盘:
-
解决方法尝试
尝试1:输入下面的修改路径(出错)
conda config --add envs_dirs newdir # 增加环境路径
conda config --remove envs_dirs newdir # 删除环境路径
- 最终解决方法:
添加环境位置
找到.condarc文件:C:\Users\用户名\.condarc
。通过记事本打开,并添加
envs_dirs:
- F:\APP\install\Anaconda\envs #新的环境保存位置
保存后,再次试一下创建环境,此时环境位置是指定的位置。
输入conda config --show
确认:
解决办法-参考
4. jupyter
4.1 jupyter notebook默认工作目录设置
- 打开
C:\Users\23622\.jupyter
,找到
- 找到
c.NotebookApp.notebook_dir
- 将
#
删除,在' '
中填入确定修改后的地址F:\APP\data\Jupyter
- 更改快捷方式的属性,路径为
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
文章出处登录后可见!