conda.lockファイルを使用して依存関係をインストールしています。 それをキャッシュする方法があるかどうか疑問に思いました。 現在、通常のキャッシュはそのために機能していないようです。
うーん...私は重いロックファイルを持っています-実行を使用して、キャッシングはLinuxとOSXで機能します:
それはウィンドウズでは動作しません、そしてそれは私を悲しませますが、それはまた私を驚かせません。
問題のリポジトリへのリンク、ログ、または「機能しない」以外に提供できる追加情報がある場合は、役に立ちます。
迅速な返信をありがとう@bollwyvl 。
以前に詳細を提供しなかったことをお詫びします。 私はおもちゃのリポジトリで実験しています。最近のログはここにあります:
https://github.com/ma-sadeghi/xyztest/runs/1534789528?check_suite_focus=true
キャッシュサイズは約0MBと報告されています。
PS。 このリポジトリにはsetup-miniconda
を使用していません。CIマシンに組み込まれているconda
で動作するようにしようとしていました。
@bollwyvl
あなたを見てみるとyml
に少し掘りを持つファイルsetup-miniconda
、それは私が物事を間違ったの全体の束をしていたが判明しました。 キャッシュフォルダ( ~/conda_pkgs_dir
)が存在しなかったため、手動で作成する必要がありました。また、 ~/conda_pkgs_dir
を指すようにCONDA_PKGS_DIRS
環境変数を設定していません~/conda_pkgs_dir
。 最新のイテレーションは次のとおりです。
https://github.com/ma-sadeghi/xyztest/runs/1535236467?check_suite_focus=true
これはキャッシュが正常に機能しているようで、「依存関係のインストール」ステップがはるかに高速になりました。
洞察に感謝します。
万歳! みんなのためのキャッシュ!
フォルダ全体をキャッシュすると、うまく機能しないことに注意してください。
キャッシュには、tarballと解凍されたコンテンツの両方が含まれています...
ステップステップの後、私たちはその一部をクリーンアップしようとします。
他に壊れているものがない場合は、気軽に閉じてください...特にこのように
この行動には関与していませんでした。
@bollwyvl申し訳ありませんが、これはこのリポジトリの範囲外ですが、キャッシュを最適化するために正確に何をしているのでしょうか。 どのファイルを削除しますか? 開梱された中身またはタールボール?
ええ、それはほとんどそれのサイズです:
https://github.com/conda-incubator/setup-miniconda/blob/master/src/delete.ts
そこにはさらにいくつかのものがありますが、それと比較すると、それはうんざりするようなものです
たとえば、mklまたはqtが解凍されます。
@bollwyvl簡単な質問: delete.ts
を見ると、 .tar.bz2
圧縮ファイルではなく、非圧縮フォルダーを削除しているようです。 おそらく何かが足りないのですが、そうすることで、condaは追加の「解凍」ステップを実行する必要があるようです。一方、 .tar.bz2
が削除された場合、 conda
はすでに解凍されたものを再利用できます。フォルダ。 私は自分のコンピューターでそれを試しましたが、後者はより速いインストールにつながったようです。
コンダもきれいに走れると思います。 @bollwyvl delete.ts
代わりにそれを使用できるかもしれませんが、その時点でコンダクリーンに気付いていなかったので、そのようにしました。
$ conda clean --help
usage: conda clean [-h] [-a] [-i] [-p] [-t] [-f]
[-c TEMPFILES [TEMPFILES ...]] [-d] [--json] [-q] [-v] [-y]
Remove unused packages and caches.
Options:
optional arguments:
-h, --help Show this help message and exit.
Removal Targets:
-a, --all Remove index cache, lock files, unused cache packages,
and tarballs.
-i, --index-cache Remove index cache.
-p, --packages Remove unused packages from writable package caches.
WARNING: This does not check for packages installed
using symlinks back to the package cache.
-t, --tarballs Remove cached package tarballs.
-f, --force-pkgs-dirs
Remove *all* writable package caches. This option is
not included with the --all flag. WARNING: This will
break environments with packages installed using
symlinks back to the package cache.
-c TEMPFILES [TEMPFILES ...], --tempfiles TEMPFILES [TEMPFILES ...]
Remove temporary files that could not be deleted
earlier due to being in-use. Argument is path(s) to
prefix(es) where files should be found and removed.
Output, Prompt, and Flow Control Options:
-d, --dry-run Only display what would have been done.
--json Report all output as json. Suitable for using conda
programmatically.
-q, --quiet Do not display progress bar.
-v, --verbose Can be used multiple times. Once for INFO, twice for
DEBUG, three times for TRACE.
-y, --yes Do not ask for confirmation.
Examples:
conda clean --tarballs
より小さなキャッシュのためのいくつかのより多くのアイデア: