conda
conda ≈ pip(python包管理) + virtualenv(虚拟环境) + 非python依赖包管理
虚拟环境
这里以创建名为EnvName
的虚拟环境为例,python版本为3.6
创建:
创建conda create -n EnvName python=3.6
手动激活环境conda activate EnvName
移除:
手动退出环境conda deactivate
删除conda remove -n EnvName --all
非python依赖包管理
conda是一个跨平台软件包和环境管理器,conda软件包是二进制文件。从来不需要安装任何编译器。另外,conda软件包不限于Python软件。它们可能还包含C或C ++库,R软件包或任何其他软件。
这凸显了conda和pip之间的关键区别。pip安装Python软件包,而conda安装软件包,其中可能包含以任何语言编写的软件。例如,在使用pip之前,必须通过系统软件包管理器或下载并运行安装程序来安装Python解释器。另一方面,Conda可以直接安装Python软件包以及Python解释器。
python包管理
conda install xxx ,不管在什么环境下载的包,都统一放在一个Conda目录里面,比如在我电脑上(mac):
/Users/UserName/opt/miniconda3/pkgs
在目录下可以看到很多已经通过conda install的包。
所以,在某个环境下⾯下载了某个包,再到另外⼀个环境下载同样的包,conda会⾃动在上⾯的⽬录⾥⾯找,如
果有,就不会重复下载,⽽是将这个包的site-packages下的⽂件复制到当前环境下(和直接pip install ⼀
样)如:
~/.conda/envs/EnvName/python3.6/site-packages
使⽤conda uninstall xxx时,和pip uninstall⼀样,删除了当前环境site-packages⾥⾯的包内容,但是在上
述⽬录⾥⾯还存在这这个包,此时再到另外⼀个环境下载这个包,还是将site-packages复制⼀份到当前环
境下,做到了⼀次下载,到处使⽤。
conda换源
linux or mac(windows请查看参考链接):
将以上配置文件写在~/.condarc中, vim ~/.condarc
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
ssl_verify: true
补充:
中国科学技术大学 USTC Mirror
channels:
- https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
- https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
- https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
ssl_verify: true
上海交通大学开源镜像站
channels:
- https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/
- https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/
- https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge/
ssl_verify: true
pip
pip install xxx ,在特定环境中使用pip,下载的包会存在环境目录里,如:~/.conda/envs/EnvName/python3.6/site-packages
使用pip uninstall xxx,包就卸载掉了。
pip导出依赖环境和安装依赖环境的命令
导出: pip freeze > requirements.txt
安装: pip install -r requirements.txt
pip换源
镜像地址:
阿里云 https://mirrors.aliyun.com/pypi/simple/
中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban)https://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 https://pypi.mirrors.ustc.edu.cn/simple/
校园网建议用高校源,其他建议使用阿里/豆瓣源
临时使用:
可以在使用pip的时候在后面加上-i参数,指定pip源
eg: pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple
永久修改:
linux or mac(windows请查看参考链接):
修改 ~/.pip/pip.conf
(没有就创建一个), 内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
conda和pip的比较
conda | pip | |
---|---|---|
管理 | 二进制文件 | wheel文件 |
需要编译器 | no | yes |
包类型 | 任何包 | python包 |
创建虚拟环境 | yes | no |
依赖检查 | yes | no |
包来源 | Anaconda repo and cloud | PyPI |
pytorch-wheels
pytorch-wheels 是 PyTorch pip 源的镜像。直接将 PyTorch 安装指引 中的 https://download.pytorch.org/whl 替换为 https://mirror.sjtu.edu.cn/pytorch-wheels 即可。
pip install torch===1.7.1 torchvision===0.8.2 torchaudio===0.7.2 -f https://mirror.sjtu.edu.cn/pytorch-wheels/torch_stable.html
参考
Understanding Conda and Pip
安装包的时候conda install和pip install有什么区别?
PIP 更换国内安装源
SJTUG-pytorch-wheels