管理虚拟包#
“虚拟”包被注入到 conda 求解器中,以允许真实包依赖于系统上存在的功能,而这些功能无法由 conda 直接管理,例如系统驱动程序版本或 CPU 功能。 虚拟包不是真实包,不会通过 conda list
显示。 相反,conda
运行一小段代码来检测与包对应的系统功能的存在与否。 当前支持的虚拟包列表包括
__cuda
: 显示驱动程序支持的 CUDA 最大版本。
__osx
: OSX 版本(如果适用)。
__glibc
: 操作系统支持的 glibc 版本。
__linux
: 在 Linux 上运行时可用。
__unix
: 在 OSX 或 Linux 上运行时可用。
__win
: 在 Win 上运行时可用。
__conda
: 用于求解的 conda 版本。
其他虚拟包将在未来的 conda 版本中添加。 这些包在包名称中以双下划线开头表示。
列出检测到的虚拟包#
使用终端进行以下步骤。
要查看检测到的虚拟包列表,请运行
conda info
如果检测到包,您将看到它在 virtual packages
部分列出,如本例所示
active environment : base
active env location : /Users/demo/dev/conda/devenv
shell level : 1
user config file : /Users/demo/.condarc
populated config files : /Users/demo/.condarc
conda version : 4.6.3.post8+8f640d35a
conda-build version : 3.17.8
python version : 3.7.2.final.0
virtual packages : __cuda=10.0
base environment : /Users/demo/dev/conda/devenv (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/osx-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/osx-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/osx-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /Users/demo/dev/conda/devenv/pkgs
/Users/demo/.conda/pkgs
envs directories : /Users/demo/dev/conda/devenv/envs
/Users/demo/.conda/envs
platform : osx-64
user-agent : conda/4.6.3.post8+8f640d35a requests/2.21.0 CPython/3.7.2 Darwin/17.7.0 OSX/10.13.6
UID:GID : 502:20
netrc file : None
offline mode : False
覆盖检测到的包#
为了进行故障排除,可以使用环境变量覆盖虚拟包检测。 支持的变量包括
CONDA_OVERRIDE_CUDA
- CUDA 版本号或设置为""
表示未检测到 CUDA。CONDA_OVERRIDE_OSX
- OSX 版本号或设置为""
表示未检测到 OSX。CONDA_OVERRIDE_GLIBC
- GLIBC 版本号或设置为""
表示没有 GLIBC。 这仅适用于 Linux。