conda和pip 安装python依赖包区别和使用技巧

引言

Conda 作为一种跨平台的包和虚拟环境管理器,使用的时候功能与pip类似。安装python依赖包的时候经常将两种方法混合使用,但一直没有进行具体区分其差别。重新安装python依赖包的时候出现各种不兼容的bug。经历一天烦躁的安装、卸载和查阅资料的痛苦过程,将自己的学习收获梳理一下,以便自己未来回顾查看,同时公开分享帮助遇到同样难题的朋友们。

Anaconda下载链接:

Anaconda可以通过官网下载,但是速度较慢。大家一般是从国内镜像网站进行下载安装。例如清华源:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 下载。

目录


一、conda和python的区别

Anaconda官网对conda和pip的区别进行了对比分析。

conda和pip主要区别:

(1)conda 不仅可以安装依赖包还可以创建隔离的虚拟环境。而pip不可以。当导入不同的项目文件为避免python依赖包不兼容问题,可以为每个项目创建自己的虚拟环境。

(2)conda不仅可以安装python库,还可以安装C\C++或者其他语言库

(3)conda 有严格的检查机制,可以保证package安装完后就work,conda只检查用conda安装的包,不检查pip安装的包。这样如果用pip已经安装,conda会无视其存在重新安装一个。两个包同时存在会出现调用冲突。卸载不干净的时候可以从anaconda安装路径下的/Lib/site-packages/手动卸载。

请问大神们,pip install 和conda install有什么区别吗? – 知乎

二、创建项目环境命令

1.用conda命令创建项目环境

导入不同的项目时创建不同的python环境,不同环境的依赖包相互隔离,避免产生引用冲突。

conda create -n 环境名称 python=python版本

 2.显示环境列表

conda env list

3.激活环境

conda activate 环境名称

4.退出环境

conda deactivate

5.删除环境

conda remove -n 环境名称 --all 

三、安装python依赖包

3.1 pip安装package使用技巧

3.1.1.pip的wheel安装:

whl下载链接:https://download.pytorch.org/whl/torch_stable.html

在安装torch、torchvision的时候注意上网查询兼容版本号。本人采用的技巧是通过pytorch官网的命令行显示的版本号去whl网站下载对应的版本。因为pytorch官网给出的命令属于联网安装,由于网速等原因经常出现安装失败情况。

安装whl文件需要在命令窗口输入命令进入存放文件的目录,之后用pip install 命令安装。

#打开盘符D命令
d:
#进入子目录命令
cd xxx
#安装whl命令
pip install xxx.whl

3.1.2.pip的国内镜像源安装

pip安装依赖包可以采用从国内镜像源在线安装的方式,镜像源可以是临时镜像源,或者配置成永久镜像源。

(1)使用临时镜像源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称

常用的国内镜像源有:

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文件即可。

3.2 conda安装package使用技巧

(1)使用临时镜像源

conda install --channel https://地址 包名

(2)配置永久镜像源

方法一:在C:\Users\xxx\路径下寻找.condarc文件,也可以通过命令显示.condarc文件所在路径。

conda config --show-sources #显示.condarc文件路径

##显示结果##
==> C:\Users\62494\.condarc <==
show_channel_urls: True

Windows 用户无法直接创建.condarc 文件。先通过以下命令生成该文件后对文件内容进行修改。

conda config --set show_channel_urls yes

.condarc文件中的内容替换为(清华源、阿里源等)

channels:
  - defaults
show_channel_urls: true
default_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
custom_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

配置完成可运行命令清除索引缓存

conda clean -i

方法二:在conda 命令窗口中输入命令创建永久源。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

其他conda命令

查看当前源命令

conda config --show channels 
conda config --get channels

如果想改成默认源

conda config --remove-key channels

删除某镜像源

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

四、项目环境迁移

4.1 pip freeze命令

首先,在anaconda prompt 命令窗口中进入需迁移虚拟环境的项目根目录,执行pip freeze命令会将项目所在系统中的所有包都整体打包放进该项目的requirements.txt文件中。

pip freeze > requirements.txt  

4.2 pipreqs 命令

仅仅封装与本项目依赖的包,其他无关包并不参与封装操作。encoding 选项主要解决windows系统字符编码采用gbk格式。

XXXX(项目根目录)> pipreqs ./ --encoding=utf-8

五、命令代码参考

conda环境和更换镜像源_conda更新镜像-CSDN博客

Anaconda常用命令及配置国内镜像源_conda install 镜像_凉水/的博客-CSDN博客
conda 修改镜像源_conda更换镜像源_青灯剑客的博客-CSDN博客

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

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

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年11月30日
下一篇 2023年11月30日

相关推荐