conda如何确定每个文件的目的地?

时间:2019-12-30 08:34:39

标签: conda

每个conda软件包都有一个paths.json,用于指定其中包含的所有文件。看起来像这样:

{
  "paths": [
    {
      "_path": "lib/python3.7/site-packages/fun-packge/__init__.py",
      "path_type": "hardlink",
      "sha256": "76f3b6e34feeb651aff33ca59e0279c4eadce5a50c6ad93b961c846f7ba717e9",
      "size_in_bytes": 2067
    },
    {
      "_path": "lib/python3.7/site-packages/fun-packge/__config__.py",
      "path_type": "hardlink",
      "sha256": "348e3602616c1fe4c84502b1d8cf97c740d886002c78edab176759610d287f06",
      "size_in_bytes": 87519
    },
    ...
}

我的问题是:此文件仅记录文件在包本身中的位置。 conda如何设法找出文件的目的地?

对于某些软链接,链接文件在哪里?它只知道此路径是一个软链接。

    {
      "_path": "lib/icu/pkgdata.inc",
      "path_type": "softlink",
      "sha256": "ce1bdb3a6f5df26b30e155f42f027ed315118a245426057598ad030d1fa52fcc",
      "size_in_bytes": 1350
    },

1 个答案:

答案 0 :(得分:1)

从安装到环境中的相对路径和从程序包缓存中的未压缩程序包的相对路径都是相同的,因此_path表示两者。在视觉上,它类似于:

./miniconda3/
   |- pkgs/
   |   |- fun-package_v1.0_build2/
   |       |- lib/python3.7/site-packages/fun-package/
   |           |- __init__.py
   |           |- __config__.py
   |- envs/
       |- your_env
           |- lib/python3.7/site-packages/fun-package/
               |- __init__.py
               |- __config__.py