Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Anaconda中的攻击性更新包到底是什么?_Python_Anaconda_Conda - Fatal编程技术网

Python Anaconda中的攻击性更新包到底是什么?

Python Anaconda中的攻击性更新包到底是什么?,python,anaconda,conda,Python,Anaconda,Conda,我最近开始使用Anaconda环境,在配置列表中我遇到了一个名为aggressive\u update\u packages的选项。我不太清楚当我添加一个新的包时会发生什么。我找不到关于这个选项()的任何令人满意的描述,所以我只能假设它的作用:我认为它会自动更新特定的包。但是我肯定不知道它是如何工作的,这就是我要问的。我正在积极开发一个软件包,特别是用于Anaconda环境的软件包,对于其他人来说,自动更新软件包是一个不错的功能。根据conda发行说明 主动更新:除了pinned_package

我最近开始使用Anaconda环境,在配置列表中我遇到了一个名为
aggressive\u update\u packages
的选项。我不太清楚当我添加一个新的包时会发生什么。我找不到关于这个选项()的任何令人满意的描述,所以我只能假设它的作用:我认为它会自动更新特定的包。但是我肯定不知道它是如何工作的,这就是我要问的。我正在积极开发一个软件包,特别是用于Anaconda环境的软件包,对于其他人来说,自动更新软件包是一个不错的功能。

根据conda发行说明

主动更新:除了pinned_packages配置参数外,Conda现在还支持一个主动更新_packages配置参数,该参数保存一系列MatchSpec字符串。目前,默认值包含ca证书、certifi和openssl包。当使用conda config命令操作配置时,--system和--env标志的使用在这里尤其有用。例如:

conda config--添加攻击性的\u更新\u包默认值::pyopenssl--系统 将确保在系统范围内,在所有环境上强制使用来自默认通道的最新版本的pyopenssl

conda config--add pinned_packages Python=2.7--env

将当前活动环境的所有解算锁定为与2.7.*匹配的Python版本

根据本期—— 这可能意味着默认情况下创建的任何新环境都会在
aggressive\u update\u packages
配置中添加/更新包

如何获取变量值?-<代码>conda配置--显示它存在的原因
aggressive\u updates\u包的默认设置主要是出于安全目的提供的。由于Conda带来了许多本机库,其中一些库提供了在互联网上安全通信的核心功能,因此有一个隐含的责任,即确保它正在努力修补经常出现在一般网络攻击表面的软件

尝试在中搜索任何默认软件(例如,
openssl
),您将很快了解为什么对这些软件包进行修补非常重要。运行旧的SSL协议或拥有过时的证书颁发机构列表会使人容易受到攻击

工作原理 本质上,只要有人表示愿意改变环境(例如,
conda(install | update | remove)
),conda就会检查并请求安装集合中软件包的最新版本。没有比这更重要的了它不会自动更新软件包。如果用户从未尝试改变环境,则包将永远不会更新

重新调整功能的用途 OP建议将此作为“自动更新特定包”的一种方式。如果您的用户已经频繁地改变他们的环境,那么包可能会通过此设置频繁更新。但是,该设置不是包可以自行操作的()。用户必须手动操作其设置才能将“特定包”添加到列表中


对于注重再现性的用户,我会积极劝阻他们不要更改全局设置,将非安全基本软件包添加到他们的
主动更新\u软件包列表中。

对于其他人来说,保持自动更新是一个不错的功能。这难道不会否定使用虚拟环境和软件包管理器的一些优势吗?@AMC它只适用于一小部分人(甚至不是真人,实验室中的一些PC)。当然,任何人都可以这样做。这只适用于一小部分人(甚至不是真人,实验室里的一些个人电脑)。在这种情况下,我不确定我是否理解其好处。你不能让一些东西按计划运行吗?@AMC我可以,但我只是好奇
激进的更新包如何实际工作。-康达·迪维森,请你解释清楚,我正是在找这个。我知道一个包本身不能操纵
激进的更新\u包
。我猜
conda update——时间表上的所有
都应该做到这一点。