Dus*_*els 9 python pip python-3.x conda miniconda
我使用miniconda作为我的默认python安装.关于何时安装带有conda和pip的东西的当前(2019)智慧是什么?
我通常的行为是使用pip安装所有内容,如果没有通过pip可用的包或者pip版本无法正常工作,则仅使用conda.
总是偏爱有优势conda install
吗?是否存在与混合两个安装程序相关的问题?我应该考虑哪些因素?
注意:我不相信这是一个基于意见的问题.我不是简单地问"你更喜欢什么?".我的问题是,我可以选择安装python包,pip
或者conda
如何做出明智的决定?不是"告诉我哪个更好,但是" 为什么我会使用一个而不是另一个,并且会来回摆动导致问题/效率低下?"
mer*_*erv 13
注意:以下建议现已成为官方文档的一部分。
“目前(2019 年)关于何时使用
conda
vs.安装某些东西的智慧是什么pip
? ”
Anaconda Inc 的 Jonathan Helmus 在“在 Conda 环境中使用 Pip ”一文中很好地总结了这一点。以下是最终最佳实践建议的摘录:
最佳实践清单
pip
仅在之后使用conda
- 安装尽可能多的需求
conda
,然后使用pip
- pip 应该与
--upgrade-strategy "only-if-needed"
(默认)一起运行- 不要
pip
与--user
参数一起使用,避免所有“用户”安装使用 Conda 环境进行隔离
- 创建康达环境隔离的任何更改
pip
品牌- 由于硬链接,环境占用的空间很小
- 应注意避免
pip
在root [ base ] 环境中运行如果需要更改,请重新创建环境
- 一旦
pip
被使用conda
将不会意识到变化- 要安装其他 Conda 软件包,最好重新创建环境
文本文件中的存储
conda
和pip
要求
- 可以
conda
通过--file
参数传递包要求pip
接受带有-r
或的 Python 包列表--requirements
conda env
将根据具有conda
和pip
要求的文件导出或创建环境
eat*_*ish 12
我发现我首先使用conda只是因为它安装了二进制文件,而不是尝试pip如果包不在那里.例如,psycopg2在conda中比pip更容易安装.
https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/
Pip代表Pip Installs Packages,是Python官方认可的软件包管理器,最常用于安装Python Package Index(PyPI)上发布的软件包.pip和PyPI都受Python Packaging Authority(PyPA)的支配和支持.
简而言之,pip是Python包的通用管理器; conda是一个与语言无关的跨平台环境管理器.对于用户来说,最显着的区别可能就是:pip在任何环境中安装python包; conda在conda环境中安装任何软件包.如果您所做的只是在隔离环境中安装Python包,那么conda和pip + virtualenv大多可以互换,模块化依赖性处理和包可用性方面的差异.隔离环境我指的是conda-env或virtualenv,您可以在其中安装包而无需修改系统Python安装.
如果我们只专注于安装Python包,那么conda和pip会为不同的受众和不同的目的服务.如果你想在现有的系统Python安装中管理Python包,conda无法帮助你:按照设计,它只能在conda环境中安装包.如果您想要使用许多依赖于外部依赖项的Python包(NumPy,SciPy和Matplotlib是常见示例),在以有意义的方式跟踪这些依赖项时,pip无法帮助您:按设计,它管理Python包,只管理Python包.
Conda和pip不是竞争对手,而是专注于不同用户群和使用模式的工具.
这就是我所做的:
我最近遇到了这个,当 numpy / matplotlib 吓坏了,我使用 conda 构建来解决这个问题。
归档时间: |
|
查看次数: |
2971 次 |
最近记录: |