web-dev-qa-db-ja.com

condaが--no-update-dependenciesでパッケージを更新しようとするのはなぜですか?

--no-update-dependenciesスイッチを追加したにもかかわらず、新しいパッケージをインストールしようとすると、condaが他のパッケージも更新しようとすることがよくあります。アップデートは「不要」のようです-ほとんどの場合、バージョン番号の最後の部分だけが変更されたように。

今日、私はmpld3パッケージをインストールしたいと思いました、そして-no-updateを追加しましたが、condaは私のpythonパッケージをバージョン3.4.4-2から3.4.4-4に更新します-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)?
18
stmax

tldr;

心配しないでください。パッケージは更新されず、ビルド番号だけが更新されます無害である必要があります

いくつかの説明

更新されるのは ビルド番号 であり、インストールされている各パッケージのバージョンではありません。

ご覧のとおり、これはvs2010_runtimeをインストールしています。これは、パッケージが機能を使用して構築された方法をcondaが更新するためです。 Python 3.4(Visual Studio 2010を使用して構築されています)があるため、VS 2010ランタイムをインストールしています。 Python 3.5をインストールすると、VS 2015ランタイムがインストールされます。

ビルド番号/文字列は、そのパッケージのビルドプロセスに対する修正であると想定されているため、だれも壊れないはずです(たとえば、意図しないコンパイルにフラグを追加した)。

--no-update-dependenciesが存在する場合、condaがパッケージ(同じバージョン、異なるビルド番号)を更新する必要があるかどうかは議論の余地があります。

これらのオプションは新しいcondaバージョンでは非推奨であることを述べておきたい。たとえば、condaバージョン4.6.7では、「conda install --no-deps yourpackage」を使用する必要があります

5
JeffZheng