通常,当我尝试安装一个新包时,conda也希望更新其他包,即使我添加了--no update dependencies开关。这些更新似乎是“不必要的”——就像大多数时候一样,只有版本号的最后一部分发生了更改。
今天我想安装mpld3包,conda想将我的python包从3.4.4-2版本更新到3.4.4-4版本,尽管我添加了--no update dependencies开关。
如何使conda安装mpld3包而不接触其他包?
C:\...>conda install -p pyenv --no-update-dependencies mpld3
Fetching package metadata: ....
Solving package specifications: ...........
Package plan for installation in environment C:\...\pyenv:
The following packages will be downloaded:
package | build
---------------------------|-----------------
vs2010_runtime-10.00.40219.1| 0 1.1 MB
python-3.4.4 | 4 31.7 MB
mpld3-0.2 | py34_0 123 KB
------------------------------------------------------------
Total: 33.0 MB
The following NEW packages will be INSTALLED:
mpld3: 0.2-py34_0
vs2010_runtime: 10.00.40219.1-0
The following packages will be UPDATED:
python: 3.4.4-2 --> 3.4.4-4
Proceed ([y]/n)?
只是想提一下这些选项在新的conda版本中是不推荐使用的。例如,在conda版本4.6.7中,应该使用“conda install--no deps yourpackage”
tldr
不用担心,您的软件包不会被更新,只有它们的内部版本号应该是无害的。
一些解释
正在更新的是build number,而不是安装的每个包的版本。
如您所见,它正在安装
vs2010_runtime
,这是由于conda正在更新其包是如何使用功能构建的。因为有了Python3.4(它是使用Visual Studio 2010构建的),所以它正在安装VS2010运行时。如果您安装的是Python3.5,它将安装VS2015运行时。内部版本号/字符串不应该打断任何人,因为它们应该被修复到该包的生成过程中(例如:您向编译添加了一个您不打算添加的标志)。
当存在
--no-update-dependencies
时,conda是否应该更新包(相同的版本,不同的内部版本号)是有争议的,因为您可能会导致安装错误。相关问题 更多 >
编程相关推荐