在VE中安装某些软件包时,当我已经在基本环境中拥有这些软件包时,使用conda或pip会再次下载它们,这非常麻烦。由于我的网络带宽有限,我假设我将与许多不同的VE一起使用,因此下载基本软件包(如OpenCV / TensorFlow)需要很长时间。
在VE中安装某些软件包时,当我已经在基本环境中拥有这些软件包时,使用conda或pip会再次下载它们,这非常麻烦。由于我的网络带宽有限,我假设我将与许多不同的VE一起使用,因此下载基本软件包(如OpenCV / TensorFlow)需要很长时间。
默认情况下,pip会缓存它下载的所有内容,并在可能的情况下使用缓存版本。这个缓存是基础环境和所有虚拟环境之间共享的。因此,除非你传递--no-cache-dir
选项,否则pip下载一个包意味着它以前没有下载过兼容版本的该包。如果你已经在基础环境或另一个虚拟环境中安装了该包,但它仍然下载了它,那么这可能意味着以下一个或多个条件成立:
pip install pandas=1.1.5
(如果那是你在其他地方已经拥有的版本)。除非你告诉它不这样做,否则pip将为你的环境安装最新的兼容版本。pip freeze > requirements.txt
,然后将生成的文件复制到新创建的环境中。在那里,运行pip install -r requirements.txt
,pip将安装在第一个环境中安装(通过pip)的所有软件包。(请注意,pip freeze
还记录版本号,因此这不会安装可能可用的更新版本--无论这是好事还是坏事取决于您的需求。)
conda install
基本上与pip install
做的事情相同,因为它会缓存它下载的所有内容,并在可能的情况下从缓存中重用。我不确定它是否在环境之间共享,但它肯定是所暗示的。 - CrazyChucky