web-dev-qa-db-ja.com

「環境を解決する」ときにcondaが行うこと

conda install/remove/update <package>を実行するたびに、ダウンロード/インストール/更新を行うもののリストを表示する前に、しばらく「環境を解決する」と表示されます。おそらくそれは<package>の依存関係を探していますが、なぜこの操作を行った後にremoveパッケージを必要とするのでしょうか?たとえば、Mayaviをインストールしようとしていたときに、Anaconda Navigatorを削除する必要があると判断しました。

さらに、提案された操作のサブセットのみを実行するオプションは提供しません。パッケージを削除したくないことを指定する方法はありますか?

28
dkv

Condaコマンドに--debugオプションを追加して、コンソール(または端末)からの出力を確認できます。たとえば、conda update --debug numpyと入力します。出力から、クライアントがチャネルリストからrepodata.jsonをリクエストし、Solving Environmentステップでローカルに計算を行うことがわかります。

23
zhaofeng-shu33

「環境の解決」ステップに関する補足事項として...
管理者権限の欠如は、pythonパッケージをインストールできるかどうかまたはインストールできる場所に影響する場合があります。

非管理者としてログインしているときにパッケージをインストールしようとすると、インストールが「環境の解決」ステップでハングし、決して通過しないことがわかりました。

私が立ち往生しているマシン上で管理者に切り替えることは可能だったので、私はそれをやっただけで問題が解決しました。

コメンターは、これが不可能な場合の回避策を説明します。

1
Katyjean57

conda install --Prune <<package>>は適切なチャネルをインストールするのに役立ちました。

使用されている疑わしい環境は、既存のziplineおよびチャンネルと互換性がないために使用されます。プルーンは時間がかかりますが、環境の問題を解決するのに役立ちました。

0
Venkat Govindan