当前位置: 首页 > 知识库问答 >
问题:

conda会从使用pip install安装的pypi更新软件包吗?

华坚成
2023-03-14

我使用Anaconda(因为它很棒),并且通过conda安装提供的软件包非常广泛。但是,我有时确实需要安装一个在conda存储库中不可用的软件包,因此请从pypi中获取它。

我的问题:当我运行命令< code>conda update - all时,conda也会更新这些pypi包吗?还是要我分别更新?康达的文件似乎没有包含这个问题的答案。这一问一答好像表示不,conda不管理pypi包,但我还是不确定。

共有3个答案

蒋俊
2023-03-14

这个问题由来已久,但这里有一个批处理脚本,可能有助于在Windows上实现此过程的自动化。它涉及到遍历<code>conda列表

将以下内容放在一个批处理文件中(例如condapip.bat ),并进行试验:

@echo off

set packages=pip install --upgrade
for /f "tokens=1" %%i in ('conda list ^| findstr /R /C:"pypi"') do (call :join %%i)
@echo on
%packages%
@echo off
goto :eof

:join
set packages=%packages% %1
goto :eof
阴高寒
2023-03-14

Conda 4.6具有实验性功能,可实现与pip安装的软件包的互操作性。使用 conda config --set pip_interop_enabled true。可以由conda“管理”(即删除)的非conda安装的python包可以更新/更改以满足当前的求解。易于管理的软件包通常从轮子上安装。安装较新版本的pip的Sdist通常也是可管理的。但是,如果版本等效,conda 不会将非 conda 安装的软件包换成 conda 软件包。

无法管理的非conda安装的python包将锚定环境,直到通过其他方式删除它们。不可管理的软件包的一个例子是使用< code>pip install -e的“可编辑”安装。

所有这些都适用于conda更新 - 所有

闾丘照
2023-03-14

不,< code>conda update和< code>conda install不更新使用< code>pip安装的软件包(或使用< code>pip安装它们)。

这些<code>conda

$ conda create -n testenv python=3.5
Fetching package metadata .................
Solving package specifications: .

Package plan for installation in environment testenv:

The following NEW packages will be INSTALLED:

    pip:            9.0.1-py35_1
    python:         3.5.3-3
    setuptools:     27.2.0-py35_1
    vs2015_runtime: 14.0.25123-0
    wheel:          0.29.0-py35_0

Proceed ([y]/n)? y

$ activate testenv

使用< code>pip安装< code>six(旧版本):

(testenv) $ pip install six==1.6
Collecting six==1.6
  Downloading six-1.6.0-py2.py3-none-any.whl
Installing collected packages: six
Successfully installed six-1.6.0

<code>conda update</code>不会更新它(请注意<code>六个</code>未列在“所有请求的包”中,但它列在<code>Conta列表</code>中):

(testenv) $ conda update --all
Fetching package metadata .................
Solving package specifications: .

# All requested packages already installed.
# packages in environment at testenv:
#
pip                       9.0.1                    py35_1
python                    3.5.3                         3
setuptools                27.2.0                   py35_1
vs2015_runtime            14.0.25123                    0
wheel                     0.29.0                   py35_0

(testenv) $ conda list
# packages in environment at testenv:
#
pip                       9.0.1                    py35_1
python                    3.5.3                         3
setuptools                27.2.0                   py35_1
six                       1.6.0                     <pip>
vs2015_runtime            14.0.25123                    0
wheel                     0.29.0                   py35_0

但它可以使用pip升级:

(testenv) $ pip install six --upgrade
Collecting six
  Using cached six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six
  Found existing installation: six 1.6.0
    Uninstalling six-1.6.0:
      Successfully uninstalled six-1.6.0
Successfully installed six-1.10.0

只是为了说明在anaconda频道中有一个更新版本的< code>six(我在< code>conda update时忽略了它):

(testenv) $ conda install six
Fetching package metadata .................
Solving package specifications: .

Package plan for installation in environment testenv:

The following NEW packages will be INSTALLED:

    six: 1.10.0-py35_0

Proceed ([y]/n)?
 类似资料:
  • 问题内容: 使用Anacoda Python发行版时,安装无法通过Anaconda直接获得的PyPi软件包的最佳方法是什么?目前,我正在使用: 但是我不清楚这是否是最好的方法,并且在更新可用时是否会更新这些软件包。我也不清楚当PyPi已经存在时,binstar的意义是什么。 问题答案: 如果要为PyPI软件包构建conda软件包,建议的方法是在其创建的配方上使用和使用。要安装该软件包,请使用(在这

  • 什么是红帽订阅管理 红帽订阅订阅管理提供了向服务器/计算机授权产品订阅的工具,让管理员能够获取软件包的更新,跟踪系统所用支持合同和订阅的相关信息。PackageKit 和 yum 等标准工具可以用来获取红帽提供的软件包和更新等内容。可以通过红帽订阅管理工具执行下列四项基本任务: 注册 - 注册系统,将该系统与某一红帽帐户关联。这可以让订阅管理器唯一地清查该系统。不再使用某一系统时,可以取消注册。

  • 问题内容: 我想使用conda在当前的活动环境中安装“ rope”软件包。当前,以下“绳索”版本可用: 我想安装以下软件: 我已经尝试过各种“ conda install”的排列方式,因为它们都不正确,所以这里不再列出。 我也不确定 py35_0 是什么(我假设这是针对其构建软件包的python版本?),我也不知道’defaults’是什么意思? 问题答案: 没有适用于的版本。指包装。的最高可用版

  • 问题内容: 如何从Pypi移除包裹? 几个月前,我将软件包上传到Pypi。该软件包现在已过时,我想正式将其删除。我找不到有关如何 删除 软件包的任何文档。 问题答案: 登录。 转到您的包裹。 选中特定软件包的“删除”复选框。 点击“删除”按钮。

  • 问题内容: 我在PyCharm中创建了VirtualEnv来安装我的Python软件包。我想从GitHub安装django项目的这个fork。 https://github.com/django-nonrel/django 对于PyPI提供的软件包,我通常会使用PyCharm中的内置搜索工具,但是我不确定如何从GitHub将其正确安装到PyCharm中的VirtualEnv中。有人知道该怎么做吗?

  • 本文向大家介绍R从GitHub安装软件包,包括了R从GitHub安装软件包的使用技巧和注意事项,需要的朋友参考一下 示例 要直接从GitHub安装软件包,请使用devtools软件包: 要从ggplot2github安装: 上面的命令将安装ggplot2与master分支相对应的版本。要从存储库的另一个分支进行安装,请使用ref参数提供分支的名称。例如,以下命令将安装软件包的dev_general