再见pip & conda!管理Python依赖关系的更好的选择:Poetry

在你的数据科学项目的开始阶段,使用pip或conda等依赖性管理工具可能就足够了。然而,随着项目的扩大,依赖关系的数量也在增加。这可能会使项目的环境难以重现,并且在仅仅依靠pip或conda进行依赖性管理时难以有效地维护它。此时 Poetry 应运而生,它是一个开源库,提供了一个强大的工具来创建和维护具有一致环境的Python项目。在这篇文章中,我们将深入探讨Poetry的优势,并强调它与pip和conda的主要区别。
摘要由CSDN通过智能技术生成

在你的数据科学项目的开始阶段,使用pip或conda等依赖性管理工具可能就足够了。

然而,随着项目的扩大,依赖关系的数量也在增加。这可能会使项目的环境难以重现,并且在仅仅依靠pip或conda进行依赖性管理时难以有效地维护它。

此时 Poetry 应运而生,它是一个开源库,提供了一个强大的工具来创建和维护具有一致环境的Python项目。在这篇文章中,我们将深入探讨Poetry的优势,并强调它与pip和conda的主要区别。

安装的便利性

一键轻松安装过程,能够快速采用并将软件包集成到我们的代码库中,从而节省时间和精力。

Conda

Conda的安装格式对于不同的软件包是不一致的。例如,要安装polars,你需要运行:

conda install -c conda-forge polar  

而要安装pandas,命令是:

conda install -c anaconda pandas  

Pip

Pip对每个软件包都有一致的安装格式:

pip install package-name  

Poetry

Poetry也都遵循相同的安装格式:

poetry add package-name  

可用的packages

软件包选择空间大,使得找到最适合需求的特定软件包和版本更容易。

Conda

有些软件包,如 “snscrape”,不能通过conda安装。此外,某些版本,如Pandas 2.0,可能无法通过Conda安装。

虽然可以在conda的虚拟环境中使用pip来解决软件包的限制,但conda不能跟踪用pip安装的依赖关系。

$ conda list  
# packages in environment at /Users/khuyentran/miniconda3/envs/test-conda:  
#  
# Name                    Version                   Build  Channel  

Pip

Pip可以安装来自Python Package Index (PyPI)和其他存储库的任何软件包。

Poetry

Poetry还可以安装来自Python Package Index (PyPI)和其他存储库的软件包。

依赖关系的数量

减少环境中的依赖性,可以简化开发过程。

Conda

Conda提供完全的环境隔离,同时管理Python软件包和系统级的依赖关系。与其他软件包管理器相比,这可能会导致软件包太大,在安装和分发时可能会消耗更多的存储空间。

$ conda install pandas  
  
$ conda list            
  
# packages in environment at /Users/khuyentran/miniconda3/envs/test-conda:  
#  
# Name              Version         Build           Channel               
blas                1.0             openblas                            
bottleneck          1.3.5           py311ha0d4635_0                      
bzip2               1.0.8           h620ffc9_4                          
ca-certificates     2023.05.30      hca03da5_0                          
libcxx              14.0.6          h848a8c0_0                          
libffi              3.4.4           hca03da5_0                          
libgfortran         5.0.0           11_3_0_hca03da5_28                   
libgfortran5        11.3.0          h009349e_28                         
libopenblas         0.3.21          h269037a_0                          
llvm-openmp         14.0.6          hc6e5704_0                          
ncurses             6.4             h313beb8_0                          
numexpr             2.8.4           py311h6dc990b_1                      
numpy               1.24.3          py311hb57d4eb_0                      
numpy-base          1.24.3          py311h1d85a46_0                      
openssl             3.0.8           h1a28f6b_0                          
pandas              1.5.3           py311h6956b77_0                      
pip                 23.0.1          py311hca03da5_0                      
python              3.11.3          hb885b13_1                          
python-dateutil     2.8.2           pyhd3eb1b0_0                        
pytz                2022.7          py311hca03da5_0                      
readline            8.2             h1a28f6b_0                          
setuptools          67.8.0          py311hca03da5_0                      
six                 1.16.0          pyhd3eb1b0_1                        
sqlite              3.41.2          h80987f9_0                          
tk                  8.6.12          hb8d0fd4_0                          
tzdata              2023c           h04d1e81_0                          
wheel               0.38.4          py311hca03da5_0                      
xz                  5.4.2           h80987f9_0                          
zlib                1.2.13          h5a0b063_0                        

Pip

Pip只安装软件包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值