通常当我尝试安装新软件包时,即使我添加了--no-update-dependencies开关,conda也希望更新其他软件包。更新似乎是“不必要的” - 就像大多数时候只有版本号的最后一部分发生了变化。
今天我想安装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)?
答案 0 :(得分:4)
不用担心,您的软件包没有更新,只有他们的内部版本号,应该无害。
正在更新的是build number,而不是每个已安装软件包的版本。
正如您所看到的,它正在安装vs2010_runtime
,这是因为conda更新了其包使用功能构建的方式。由于您使用的是Python 3.4(使用Visual Studio 2010构建),因此它正在安装VS 2010运行时。如果您正在安装Python 3.5,它将安装VS 2015运行时。
构建数字/字符串不应该破坏任何人,因为它们应该修复该程序包的构建过程(例如:你在编译中添加了一个标志,你并不打算这样做)。
如果conda在--no-update-dependencies
出现时更新软件包(相同版本,不同的构建号)是有争议的,因为最终可能会导致安装错误。
答案 1 :(得分:3)
只想提一下,这些选项在新的conda版本中已被弃用。例如,在conda版本4.6.7中,应使用“ conda install --no-deps yourpackage”