
引言Conda 作为一种跨平台的包和虚拟环境管理器使用的时候功能与pip类似。安装python依赖包的时候经常将两种方法混合使用但一直没有进行具体区分。重复安装python依赖包的时候出现各种不兼容的bug。经历一天烦躁的安装、卸载和查阅资料的痛苦过程将自己的学习收获梳理一下公开分享帮助遇到同样难题的朋友们。同时另外一篇博文讲解了如何快速安装pytorch包【手把手教你安装cuda软件和pytorch框架包】让你更快速地完成项目运行基础框架环境软件的安装。目录一、 Anaconda安装二、conda和python的区别三、创建项目环境命令四、安装python依赖包4.1 pip安装package使用技巧4.1.1 依赖包的离线wheel方式安装4.1.2 依赖包的在线国内镜像源方式安装1使用临时镜像源2配置永久镜像源4.2 conda安装package使用技巧五、项目环境迁移5.1 pip freeze 命令5.2 pipreqs 命令六、参考文章一、 Anaconda安装Anaconda集成了conda和python软件无需单独安装python软件可以管理不同版本软件包和开发框架例如pytorch、tensorflow等。Anaconda可以通过官网下载但是速度较慢。大家一般是从国内镜像网站进行下载安装。例如清华源【https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/】 软件下载完毕后直接安装即可。二、conda和python的区别Anaconda官网对conda和pip的区别进行了对比分析。conda和pip主要区别1conda 不仅可以安装依赖包还可以创建隔离的虚拟环境而pip没有创建环境功能。当导入不同的项目文件为避免python依赖包不兼容问题可以为每个项目创建自己的虚拟环境。2conda不仅可以安装python库还可以安装C\C或者其他语言库3conda 有严格的检查机制可以保证package安装完后就正常使用注意conda只检查用conda命令安装的包不检查pip命令安装的包。不理想的情况是如果用pip已经安装某个包用conda安装该包会无视其存在重新安装一个新包。两个包同时存在会出现调用冲突。解决途径就是卸载该包。如果卸载不干净的时候可以直接从anaconda安装路径下的【envs/**环境名/Lib/site-packages/】手动卸载相应的包。请问大神们pip install 和conda install有什么区别吗 - 知乎三、创建项目环境命令conda一个优势就是可以为每个项目创建独属于自己的虚拟环境避免不同项目的依赖包之间的冲突。本小节会介绍一些常用的创建环境、显示、激活、删除环境等命令。1.用conda命令创建项目环境conda create -n 环境名称 pythonpython版本 示例 conda create -n pytorch python3.72.显示所有环境列表conda env list3.激活环境conda activate 环境名称4.退出环境conda deactivate5.删除环境conda remove -n 环境名称 --all四、安装python依赖包4.1 pip安装package使用技巧4.1.1 依赖包的离线wheel方式安装wheel是一个预编译的二进制包文件扩展名为.whl。通过安装whl文件可以快速将python依赖项安装到系统中比从在线镜像源安装更快速。搜索依赖包的whl官网【https://pypi.org/】安装whl文件需要在命令窗口输入命令进入whl文件的存放目录之后用pip install 命令安装。例如whl文件存放于D:\xxx\xxx.whl。#打开盘符D命令 d: #进入子目录命令 cd xxx #安装whl命令 pip install xxx.whl4.1.2 依赖包的在线国内镜像源方式安装pip安装依赖包也可以采用从国内镜像源在线安装的方式镜像源可以是临时镜像源或者配置成永久镜像源。1使用临时镜像源pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称示例代码安装albumentations包用于数据预处理例如反转添加噪声、模糊、滤波等。pip install -i https://pypi.tuna.tsinghua.edu.cn/simple albumentations常用的国内镜像源有https://pypi.tuna.tsinghua.edu.cn/simple https://mirrors.aliyun.com/pypi/simple/ https://pypi.douban.com/simple/ https://pypi.mirrors.ustc.edu.cn/simple/ https://pypi.hustunique.com/ https://pypi.sdutlinux.org/2配置永久镜像源方法一在路径【C:\Users\xxx\】下寻找pip文件夹若没有可以创建打开pip文件夹创建pip.ini文件。将以下内容放入pip.ini文件中。[global] index-url https://pypi.tuna.tsinghua.edu.cn/simple方法二使用命令设置永久源pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/注意如果想改成默认镜像源直接删除pip文件即可。4.2 conda安装package使用技巧conda在安装各种包的时候可以使用临时镜像源也可以使用永久镜像源本小节会介绍两种方式的工作方式以及一些常用的其他conda命令。1. 使用临时镜像源conda install --channel https://地址 包名2. 配置永久镜像源在路径【C:\Users\xxx\】下寻找.condarc文件也可以通过命令显示.condarc文件所在路径。conda config --show-sources #显示.condarc文件路径 ##显示结果## C:\Users\62494\.condarc show_channel_urls: True注意如果在路径【C:\Users\xxx\】下不存在.condarc文件Windows 用户无法像创建pip.ini文件那样直接创建.condarc文件而是需要先通过以下命令生成该文件。conda config --set show_channel_urls yes方法一将.condarc文件中的内容替换为清华源、阿里源等channels: - defaults show_channel_urls: true default_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud custom_channels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2配置完成可运行在命令窗口清除索引缓存conda clean -i方法二在conda 命令窗口中输入命令直接创建永久源自动修改.condarc文件内容。conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes3. 常用conda镜像源操作命令1查看当前源命令conda config --show channels conda config --get channels2如果想改成默认源conda config --remove-key channels3删除某镜像源conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/五、项目环境迁移5.1 pip freeze 命令首先在anaconda prompt 命令窗口中进入需迁移虚拟环境的项目根目录执行pip freeze命令会将项目所在系统中的所有包都整体打包放进该项目的requirements.txt文件中。XXXX(项目根目录) pip freeze requirements.txt注意pip freeze命令会将整个环境中所有的依赖包即使与本项目无关的依赖包都加载进requirements.txt。5.2 pipreqs 命令为解决pip freeze命令的缺陷仅仅封装与本项目依赖的包其他无关包并不参与封装操作使用pipreqs 命令。但是在使用pipreqs命令之前需要安装pipreqs包。pip install pipreqs像5.1一样进入项目根目录调用以下命令写requirements.txt。附加--encoding选项主要解决windows系统字符编码采用gbk格式。XXXX(项目根目录) pipreqs ./ --encodingutf-8若要强制覆盖已经生成的requirements.txt,可以命令后追加--forcepipreqs ./ --encodingutf-8 --force六、参考文章conda环境和更换镜像源_conda更新镜像-CSDN博客Anaconda常用命令及配置国内镜像源_conda install 镜像_凉水/的博客-CSDN博客conda 修改镜像源_conda更换镜像源_青灯剑客的博客-CSDN博客