包管理器
Python 包管理器——Anaconda
什么是 Anaconda?
Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda 包含了 conda、Python 在内的超过 180 个科学包及其依赖项。
Anaconda、conda、pip 的区别:
- Anaconda 是一个包含 180+ 的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook 等。
- conda 是包及其依赖项和环境的管理工具
- 快速安装、运行和升级包及其依赖项
- 在计算机中便捷地创建、保存、加载和切换环境
- conda 为 Python 项目而创造,但可适用于多种语言
- pip 是用于安装和管理软件包的包管理器
conda 和 pip 的比较:
-
依赖项检查
-
pip
- 不一定会展示所需其他依赖包
- 安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误
-
conda
- 列出所需其他依赖包
- 安装包时自动安装其依赖项
- 可以便捷地在包的不同版本中自由切换
-
-
环境管理
- pip:维护多个环境难度较大
- conda:比较方便地在不同环境之间进行切换,环境管理较为简单
-
对系统自带 Python 的影响
- pip:在系统自带 Python 中包的更新/回退版本/卸载将影响其他程序
- conda:不会影响系统自带 Python
安装
- 不要以管理员身份安装
- 不要勾选 “Add Anaconda to my PATH environment variable.”
更新与换源
添加三个环境变量:
|
验证 conda 已被安装:conda --version
更新 conda 至最新版本:conda update conda
升级 Anaconda Navigator :conda update anaconda-navigator
升级所有包:conda update --all
查看 conda 帮助信息:conda -h
换源:把 /用户名/.condarc
换成清华源:
|
并运行 conda clean -i
清除索引
管理环境
创建新环境
|
注意:
<env_name>
即创建的环境名<package_names>
即安装在环境中的包名- 如果要安装指定的版本号,则只需要在包名后面以
python=
和版本号的形式执行。如:conda create --name python2 python=2.7
,即创建一个名为python2
的环境,环境中安装版本为 2.7 的 python - 如果要在新创建的环境中创建多个包,则直接在
<package_names>
后以空格隔开,添加多个包名即可。如:conda create -n python3 python=3.5 numpy pandas
,即创建一个名为python3
的环境,环境中安装版本为 3.5 的 python,同时也安装了 numpy 和 pandas
切换环境:activate <env_name>
退出环境:deactivate
显示已创建环境
|
复制环境
|
删除环境
|
管理包
查找可供安装的包版本
- 精确查找
|
- 模糊查找
|
获取当前环境中已安装的包信息
|
安装包
- 在指定环境中安装包
|
- 在当前环境中安装包
|
卸载包
- 在指定环境中卸载包
|
- 在当前环境中卸载包
|
更新包
- 更新指定包
|
- 更新所有包
|
用 pip 命令安装
|
注意:
- pip 只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用 pip 进行安装包,则需要先切换到指定环境中,再使用 pip 命令安装包。
- pip 无法更新 python,因为 pip 并不将 python 视为包。
- pip 可以安装一些 conda 无法安装的包;conda 也可以安装一些 pip 无法安装的包。因此当使用一种命令无法安装包时,可以尝试用另一种命令。
从 Anaconda 安装包
点击 Anaconda Cloud,搜索包名,复制代码
Node.js 包管理器
npm
npm (Node Package Manager) 是 Node.js 自带的包管理器,安装了 Node.js 即可使用
常用命令:
命令 | 效果 |
---|---|
npm init |
创建一个新的 package.json 文件 |
npm install |
安装 package.json 文件中指定的依赖项 |
npm install <package name> --save 或 -S |
安装指定的依赖项,并添加到 package.json 的 dependencies 中 |
npm install <package name> --save-dev 或 -D |
安装指定的依赖项,并添加到 package.json 的 devDependencies 中 |
npm update |
更新 package.json 文件中指定的所有包 |
npm update <package name> |
更新指定的包 |
npm uninstall <package name> |
卸载指定的依赖项 |
npm run <script name> |
运行 package.json 文件中指定的脚本 |
npm ls |
列出当前项目中已安装的所有包及其依赖关系 |
npm install <package name> -g |
全局安装包 |
可以使用 nrm
切换 npm 源:npm install nrm -g
列出可用源:nrm ls
切换源:nrm use <registry>
yarn
Yarn 同样是一个 JavaScript 的包管理器
使用 npm 安装:npm install -g yarn
这里只列出一些和 npm 不同的命令:
yarn add [package]
yarn remove [package]
yarn upgrade [package]
使用 yrm
管理源
pnpm
pnpm 同样是包管理器
Linux 包管理器——apt/apt-get
Debian 系(包括 Ubuntu)通常使用 apt/apt-get 作为包管理器
命令 | 功能 |
---|---|
apt install | 安装一个软件包 |
apt remove | 移除一个软件包 |
apt purge | 移除包及相关配置 |
apt update | 刷新仓库索引 |
apt upgrade | 升级所有可升级的软件包 |
apt autoremove | 移除多余的软件包 |
apt full-upgrade | 升级软件包,并自动处理依赖 |
apt search | 搜索某个程序 |
apt show | 显示软件包详情 |
换源
编辑 /etc/apt/sources.list
更换为中科大源
|