- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我很高兴使用 Conda通过 miniconda安装以管理 python 环境。
安装后,我不理会 base
环境,而是为新项目创建新环境。然后我根据需要 conda env update
这些环境。但是,我不确定这是正确的方法。
base
环境是否应该在创建新环境之前conda env update
?
我认为这会降低磁盘使用率,因为我可能不正确的理解是,Conda 在创建新环境时将包链接到 base
环境,如果包和依赖项完全相同匹配。
尽管...这没有多大意义,因为它们很容易失去同步。也许它只是节省了带宽,因为可以复制而不是下载匹配的包?
如果每个项目都有自己的环境,base
环境是否保持最新是否重要?
最佳答案
Conda 将所有包链接到 pkgs
文件夹,该文件夹由所有 envs 共享,并且不以任何特殊方式与 base 相关联。每当任何 env 安装或升级包时,它们都会去那里,并且没有任何明确的努力从现有包中获取资源——如果依赖项解决程序恰好解析为缓存包,它将使用它。目前,没有维持环境间包同步的机制,因此必须设计一个工作流来实现它。
理论上,可以使用 Conda's env cloning最大化包版本同步。为此,您可以在概念上将您的环境分为三类:
conda
、jupyter
、git
等。 . 每当您需要新的命令行软件或需要 conda update conda
时,您都可以自由更新。它应该与其他环境几乎没有重叠。py27-tmpl
、py36-tmpl
和 py37-tmpl
不同的项目。在这里,您将安装跨项目所需的最大公共(public)包子集。模板环境的主要目的是制作...这样的结构将最大限度地重用现有的包版本。从 Conda v4.7 开始,依赖项解决程序默认使用隐式 --freeze-installed|--no-update-deps
标志进行第一阶段解决,该标志尝试安装请求的包而不不得不改变现有的包。如果与模板环境保持同步是您的目标,那么您可能希望在安装时始终使用 --freeze-installed
。也可以使用 package pinning这明确地阻止指定的包从模板升级。但是,这可能会限制安装其他软件包的某些最新版本。
不幸的是,您仍然会遇到与直觉相似的同步问题:虽然您可以在制作新克隆之前更新这些模板环境,但不会更新之前从它们派生的环境。但是对于项目环境,我认为最好的做法是一旦开始工作就不要操纵它们。如果您关心空间,没有什么可以替代完成您的模块化项目,然后在使用后归档和删除项目环境。那,偶尔运行 conda clean
。
关于python - Conda(基础)环境是否应该保持最新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56232524/
尝试使用命令 conda update conda 从终端更新 conda 时出现错误.它在说: Solving environment: failed UnsatisfiableError: The
在 conda 中,当我尝试安装软件包时,出现此错误: CorruptedEnvironmentError: The target environment has been corrupted. C
我想在一个特定的 conda 环境中安装带有 conda 的程序,并能够使用来自所有 conda 环境的相关命令。 我的目标是让学生在任何平台(尤其是 Windows)上安装 Mercurial(加上
我遇到了一个麻烦的问题。 我的 pip 和 /home/xxx/local/anacoda2/bin 的 python 都可以,但是 conda 仍然不起作用。当我在我的 ubuntu16.04 终端
我已经在普通机器上设置了 Conda 环境。它工作正常。我想在一台无法访问互联网的机器上克隆这个环境(我只能通过 SSH 进入)。 我最初的想法是压缩 Conda 留下的包缓存并将其移动到气隙机器上的
我想要两个环境:生产环境是测试环境的严格子集。我如何使用 Conda(或 micromamba)实现这一目标? 测试需要一些不需要捆绑在生产 docker 镜像中的额外实用程序。主要思想是确保生产安装
每次打开终端时都会显示以下代码行。 Traceback (most recent call last): File "", line 3, in ImportError: No module n
我尝试使用以下命令更新 conda: ~$ conda update conda 它输出以下消息: WARNING conda.base.context:use_only_tar_bz2(632):
如何仅列出 conda 中针对特定环境显式安装的软件包?有没有办法做到这一点? 最佳答案 @Sjlver 的评论链接到的页面( https://github.com/conda/conda/issue
conda 文档指定: conda clean [-h] [-y] [--dry-run] [--json] [--debug] [--verbose] [-q] [-a] [-i] [-l] [-t
当我克隆一个 Conda 环境时 conda create --name thenewenv --clone theorigenv 我注意到 theorigenv 的修订历史丢失了 conda act
我在 Conda 环境中安装了一堆软件包,包括带有 NVIDIA 工具包的 docker 容器和一些其他非 python 库。安装占用了大约 10 GB 的磁盘空间。但是当我删除 Conda 环境时,
documentation指出克隆以这种方式工作:conda create --name myclone --clone myenv但是,这将始终默认创建环境 myclone进入我几乎没有磁盘存储空间
这个问题在这里已经有了答案: Why are packages installed rather than just linked to a specific environment? (1 个回答)
How to list package versions available with conda有有用的答案,其中之一在 https://stackoverflow.com/a/47795843/2
后 conda update --all 我无法再启动 spyder。如果我在终端中运行 spyder,我会收到以下错误: /anaconda3/bin/pythonw: line 3: /anaco
对于给定的 conda包,我如何列出依赖它的包? 我最近在一个已经有 MPI (openmpi) 版本的大学集群上安装了 anaconda。 mpich2包和mpi4py与 anaconda 一起安装
创建虚拟环境时可以将路径/Users/nolan/miniconda/envs/更改为另一个路径吗?我希望它特定于我的项目目录。 (正如我们可以使用 virtualenv 所做的那样) $conda
激活 conda 环境时,conda 会记住之前激活的环境。例如,如果没有激活任何环境,则调用 conda activate foo 然后调用 conda deactivate 将导致没有任何环境处于
我使用 PyCharm 创建了一个带有 conda 解释器的项目。 Pycharm自动为其创建conda环境。不久之后,我意识到我想要该项目的另一个地点。因此我删除了项目文件夹。然后我意识到我要删除
我是一名优秀的程序员,十分优秀!