Erw*_*yer 23 python pip package-managers anaconda conda
我有一个conda虚拟环境,其中安装了几个未使用的软件包(使用pip install或conda install).
清理它的最简单方法是什么,以便只保留我的代码实际使用的软件包,并卸载其他软件包?
kal*_*anz 29
conda clean --yes --all
Run Code Online (Sandbox Code Playgroud)
将消毒一切.但请注意:如果您想进行任何类型的--offline操作,请不要使用--all; 更有选择性.
que*_*o42 11
@AgileBean 我试着回答你的评论问题,为什么--packages给你的结果比--all. 这仍然与如何卸载的主要问题有关,希望如此。
和...之间的不同
conda clean --yes --all
Run Code Online (Sandbox Code Playgroud)
和
conda clean --yes --packages
Run Code Online (Sandbox Code Playgroud)
是包只是提取的文件夹。所有其他文件(.tar.bz2、.conda,即:tarball)都不会被 .tar.gz 清理--packages。
如果你只想清理压缩包,你需要
conda clean --yes --tarballs
Run Code Online (Sandbox Code Playgroud)
参考资料: Anaconda Python:删除 pkgs 中的 .tar.gz
以下是差异的示例。请注意 --all 在实际运行中包含 --packages ,但它不会在试运行中显示 --packages 结果(非常奇怪!,请参见以下屏幕截图,它只是停在DryRunExit: Dry run. Exiting.)
哪些差异可以解释您发现 with--packages多于 with --all?
如前所述,我的第一个猜测是您只使用了dry-run 选项,--packages当您运行conda clean --all --dry-run. 因此,请参阅此真实运行conda clean --all:
这两个警告可能很有趣:
WARNING: C:\Users\Admin\.conda\pkgs does not exist
WARNING: C:\Users\Admin\AppData\Local\conda\conda\pkgs does not exist
Run Code Online (Sandbox Code Playgroud)
但是如果你没有试运行,而是真正运行--all,你会得到相同的结果,因为--all包括--packages,因此也包括它的警告。当您使用试运行时,这也是看不到的。
一个很好的理由可能是您曾经使用过清理过您的包,--tarballs或者您只是手动删除了一些 tarball,以便您解压缩的包数量超过 .zip 文件中的 tarball 数量--dry-run。
您可能已经手动将许多包解压缩到缓存文件夹中,例如从 git 手动安装和所有其他不提供 conda / pip install 的安装,然后再次在--dry-run中--all退出而不显示--packages.
也许您在文档中发现了另一件事?
https://docs.conda.io/projects/conda/en/latest/commands/clean.html。它说的是符号链接:“警告:这不会检查使用符号链接安装到包缓存的包。” 作为--packages的一部分--all,这仍然无法解释您的差异。
我猜你的--packages>--all问题的原因是conda clean --all --dry-run没有显示 的结果--packages,尽管它也清理了它们,所以你实际上没有那个问题;)。
小智 6
就其价值而言,我注意到以下内容......
conda clean --all --dry-run总共给了我 2GBconda clean --packages --dry-run总共给了我 6GB与OP观察到的差异相同......
当我下一步时,conda clean --tarballs --dry-run我注意到它也给了我 2GB,奇怪...比较第一个和最后一个命令的输出,它似乎conda clean --all --dry-run只向我显示了 tarball,没有提及软件包
我继续,做conda clean --tarballs了然后重新运行conda clean --all --dry-run......你猜怎么着?现在它显示了软件包(在提到没有 tarball 之后,这是合乎逻辑的,因为我刚刚清理了它们)
我的结论...当缓存中仍有 tarball 时,conda clean --all --dry-run无法为您提供将/可以删除的内容的完整信息
| 归档时间: |
|
| 查看次数: |
23811 次 |
| 最近记录: |