gpt4 book ai didi

python - 为 Anaconda 创建离线包文件夹

转载 作者:太空宇宙 更新时间:2023-11-03 13:08:09 25 4
gpt4 key购买 nike

我已经为我正在处理的 python 程序更新了 anaconda 包。我现在想在离线的计算机上安装这些新软件包。

我已经使用以下命令生成了已安装软件包的列表:

>conda list -e > packagelist.txt

我希望能够使用如下方式更新离线计算机上的软件包:

>conda install --file (location of 'packagelist') --channel file://(location of the folder where the packages are located)

所以我的问题是:如何轻松创建一个文件夹“pkgs”,其中包含我的包列表中指示的所有包文件?

我可以只使用位于当前 Anaconda 安装位置的整个“pkgs”文件夹吗?还是我的包列表中的包不一定安装在那里?

如果问题是“nooby”,我深表歉意,老实说,我不知道该怎么做。期待任何帮助。

最佳答案

如果其他人正在为此苦苦挣扎,这些是我采取的步骤:

  1. 创建一个文件,其中包含当前环境中安装的所有包的名称。执行此操作的一种方法(已在问题中显示)是在命令提示符下键入以下内容(以管理员身份运行):

    conda list -e > packagelist.txt

  2. 转到位于 Anaconda 安装目录中的“pkgs”文件夹。将所有压缩包复制到那里(具有“.tar.bz2”文件扩展名的包),并将它们粘贴到另一个文件夹中的某个地方,我们称之为“pkgs2” ".

  3. 将您创建的“packagelist”文本文件中的包与您创建的新文件夹“pkgs2”中的包进行比较。删除旧的包版本。例如,“pkgs2”文件夹中可能有两个不同的 numpy 版本。如有必要,删除过时的。

  4. 创建indexrepodata 文件。我不完全确定为什么。重要的是“repodata.json.bz2”文件。您可以通过在命令提示符中键入以下内容来创建它(显然您的“pkgs2”可能位于其他地方,因此请相应地进行调整):

    conda 索引 C:\Users\myName\Desktop\pkgs2

    如果出现以下错误:

    索引 Anaconda conda 包 channel 的副本既不是
    必要也不支持。如果你要添加自己的包,
    您可以通过将它们添加到单独的 channel 来实现。

    然后你必须转到你的“pkgs2”文件夹并删除“_license”包。我不知道它为什么有效但它确实有效(从谷歌搜索中看到了错误的解决方案)。

    索引完成后,您应该会看到“pkgs2”文件夹中添加了 3 个新文件。它们被称为“.index.json”、“repodata.json”和“repodata.json.bz2”。

  5. 您现在可以将“pkgs2”文件夹和“packagelist.txt”传输到另一台计算机。如果计算机尚未安装 anaconda,您还可以包含用于安装 anaconda 的安装文件。要脱机安装新的/更新的软件包,请在安装了 anaconda 的脱机计算机上的命令提示符中输入以下内容(再一次,相应地调整文件名和位置):

    conda install --file C:\Users\myName\Desktop\OfflineInstall\packagelist.txt --channel file://C:\Users\myName\Desktop\OfflineInstall\pkgs2/p>

  6. 如果一切顺利,您应该会在命令提示符中看到如下内容: screenshotcmd .一旦安装了新软件包,您就大功告成了!

但是,您可能会在第 5 步中遇到以下问题(这只是一个示例):

UnsatisfiableError: The following specifications were found to be in conflict:
- matplotlib 1.4.3 np19py27_1 -> pyparsing 2.0.3
- pyparsing 2.2.0 py27_0
Use "conda info <package>" to see the dependencies for each package.

相应地调整您的包,删除您不需要的冲突包,或更新显示的包。从第 4 步开始重复,最后应该没问题。

希望这对某人有帮助!

关于python - 为 Anaconda 创建离线包文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51286388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com