python 包 or 环境(python2 or python3?)管理

本文对比了Conda和pip这两个Python包管理工具的功能和用途。Conda作为一个跨平台的包和环境管理器,不仅可以安装Python软件,还可以安装其他语言编写的软件包;而pip主要专注于Python包的安装。此外,文章还介绍了两者在依赖管理和环境隔离方面的不同。

Conda和pip通常被认为几乎完全相同。虽然这两个工具的某些功能重叠,但它们设计用于不同的目的。 Pip是Python Packaging Authority推荐的用于从Python Package Index安装包的工具。 Pip安装打包为wheels或源代码分发的Python软件。后者可能要求系统安装兼容的编译器和库。
Conda是跨平台的包和环境管理器,可以安装和管理来自Anaconda repository以 Anaconda Cloud的conda包。 Conda包是二进制文件,徐需要使用编译器来安装它们。另外,conda包不仅限于Python软件。它们还可能包含C或C ++库,R包或任何其他软件。
这是conda和pip之间的关键区别。 Pip安装Python包,而conda安装包可能包含用任何语言编写的软件的包。在使用pip之前,必须通过系统包管理器或下载并运行安装程序来安装Python解释器。而Conda可以直接安装Python包以及Python解释器。
另一个区别是conda能够创建可以包含不同版本的Python或其他软件包的隔离环境。在使用数据科学工具时,这非常有用,因为不同的工具可能包含冲突的要求,这些要求可能会阻止它们全部安装到单个环境中。 Pip没有内置的环境支持,而是依赖于virtualenv或venv 等其他工具来创建隔离环境。 pipenv,poetry和hatch wrap pip和virtualenv等工具提供了统一的方法来处理这些环境。
Pip和conda在如何实现环境中的依赖关系方面也有所不同。安装包时,pip会在递归的串行循环中安装依赖项。没有努力确保同时满足所有包的依赖性。如果较早安装的软件包与稍后安装的软件包具有不兼容的依赖性版本,则可能导致破坏的环境。conda使用可确保满足环境中安装的所有包的所有要求。此检查可能需要额外的时间,但有助于防止创建破坏的环境,前期关于依赖关系包的元数据是正确的。
考虑到conda和pip之间的相似性,有些人试图将这些工具结合起来创建数据科学环境也就不足为奇了。将pip与conda结合的主要原因是有些包只能通过pip安装。 Anaconda创酷提供超过1,500个软件包,包括最流行的数据科学,机器学习和AI框架。这些,以及包括conda-forge和bioconda在内的数据通过Anaconda云提供的数千个附加软件包,可以使用conda进行安装。尽管有大量的软件包,但与PyPI上提供的150,000多个软件包相比,它仍然很小。有时候需要的包没有conda包,但在PyPI上有,可以用pip安装。

安装conda

国内用户可以通过镜像安装: https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

conda管理python环境

创建Python2.7环境,执行create命令如下:

conda create --name py27 python=2.7 #创建python2.7的环境,对应环境和文件夹名称:py27

激活Python2.7环境:

conda activate py27  #py27为上一步创建Python2.7环境时命名的名字
#
# To activate this environment, use
#
#     $ conda activate py27
#
# To deactivate an active environment, use
#
#     $ conda deactivate

更多conda相关文档:https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html

vitualenv管理python

sudo apt update
sudo apt install python3-dev python3-pip
sudo pip3 install -U virtualenv  # system-wide install

创建一个新的虚拟环境,方法是选择 Python 解释器并创建一个 ./venv 目录来存放它:

virtualenv --system-site-packages -p python3 ./venv

使用特定于 shell 的命令激活该虚拟环境:

source ./venv/bin/activate  # sh, bash, ksh, or zsh

当 virtualenv 处于有效状态时,shell 提示符带有 (venv) 前缀。

在不影响主机系统设置的情况下,在虚拟环境中安装软件包。首先升级 pip:

(venv)$ pip install --upgrade pip

(venv)$ pip list  # show packages installed within the virtual environment

之后要退出 virtualenv,请使用以下命令:

deactivate  # don't exit until you're done using TensorFlow

更多使用请参考tensorflow的安装教程https://tensorflow.google.cn/install/pip
或者https://virtualenv.pypa.io/en/latest/user_guide.html


https://www.jianshu.com/p/5601dab5c9e5
https://www.digitalocean.com/community/tutorials/how-to-install-anaconda-on-ubuntu-18-04-quickstart
Anaconda下载和使用教程(如何使用Anaconda管理不同python环境)https://blog.youkuaiyun.com/guanmaoning/article/details/80031279

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值