配置 Anaconda 客户端

Anaconda 客户端使您能够将包上传到您的现场 Anaconda 存储库,并提供高度精细的访问控制功能。下面的说明描述了如何配置客户端以使用您的本地存储库而不是 Anaconda Cloud。

客户端配置

在访问现场存储库的每台机器上,以机器的本地用户身份运行以下命令:

anaconda config --set url http://your.server.name:<port>/api

或者,要在系统范围内设置默认存储库,请运行以下命令:

anaconda config --set url http://your.server.name:<port>/api --site

注意:替换your.server.name为您本地存储库<port>的名称和存储库使用的端口的名称。

config仅当不存在用户级config文件时才使用系统级文件 。

要显示系统和用户config文件位置以及配置设置:

anaconda config --show

Conda配置

完成上述步骤后,您可以从本地现场存储库而不是公共 Anaconda.org 访问所有包和频道。anaconda config

然后,用户可以.condarc通过运行以下命令将个人帐户添加到他们的文件中:

conda config --add channels USERNAME

如果您仍想从公共 Anaconda.org 访问某些频道,请运行:

conda config --add channels http://conda.anaconda.org/USERNAME

注意:替换USERNAME为您的用户名。

Conda 通道优先级

要为 conda 搜索软件包安装的通道设置首选优先级,请编辑并更改顺序。首先搜索顶部的频道。~/.condarc file

例如:

channels:
  - channel
  - https://conda.anaconda.org/t/<token>/<channel2>
  - http://conda.anaconda.org/<channel1>
  - defaults

搜索顺序为:

  1. 私人现场存储库频道。
  2. 私人 Anaconda.org 频道2。
  3. 公共 Anaconda.org 频道 1。
  4. 现场存储库上的默认频道。

pip 配置

要从您的存储库安装 PyPI 包,请将您的频道添加到您的~/.pip/pip.conf配置文件。

编辑文件并将 extra-index-url 条目添加到全局配置部分:

[global]
extra-index-url = http://your.server.name:<port>/pypi/USERNAME/simple

注意:替换your.server.name为您本地存储库<port>的名称、存储库使用的端口名称和USERNAME您的用户名。

Kerberos 配置

如果您已按照配置存储库以使用 Kerberos 中所述启用 Kerberos 身份验证 ,则您的浏览器和客户端应该能够使用 Kerberos 对存储库进行身份验证。

在 macOS/Unix 中,配置文件/etc/krb5.conf

[libdefaults]
default_realm = YOUR.DOMAIN

[realms]
YOUR.DOMAIN = {
  kdc = your.kdc.server
}

[domain_realm]
your.anaconda.repository = YOUR.DOMAIN

注意:替换YOUR.DOMAIN为您的域、your.kdc.server 您的 Kerberos 密钥分发中心 (KDC) 和 your.anaconda.repository您的本地存储库服务器。

如果您的配置正确,您应该能够使用命令行工具进行身份验证kinit

kinit jsmith
anaconda login

注意:替换jsmith为您的用户名。

浏览器设置

默认情况下,许多浏览器不提供您的 Kerberos 凭据,以防止将凭据泄露给不受信任的方。为了使用 Kerberos 身份验证,您必须将 Repository 列入白名单作为受信任方以接收凭据。

您必须在配置白名单后重新启动浏览器才能反映更改。

Safari

Safari 无需配置——它会自动显示您的凭据,而无需列入白名单。

必须将 AuthServerWhitelist 策略设置为 your.anaconda.repository允许 Chrome 向 Repository 提供具有主机名的凭据your.anaconda.repository。根据您的 DNS 配置,可能还需要 DisableAuthNegotiateCnameLookup 以防止 Chrome 在生成服务名称之前规范化主机名。

注意:替换your.anaconda.repository为您的本地存储库服务器。

在 macOS 上配置:

defaults write com.google.Chrome AuthServerWhitelist "your.anaconda.repository"

在 Linux 上:

mkdir -p /etc/opt/chrome/policies/managed
mkdir -p /etc/opt/chrome/policies/recommended
chmod -w /etc/opt/chrome/policies/managed
echo '{"AuthServerWhitelist": "your.anaconda.repository"}' > /etc/opt/chrome/policies/managed/anaconda_repo_policy.json

在 Windows 上,使用组策略对象将身份验证服务器白名单设置设置为your.anaconda.repository

有关更多信息,请参阅 Chrome 的SPNEGO 身份验证管理 文档。

火狐

  1. 导航到配置页面about:config
  2. 搜索negotiate
  3. 设置配置项 network.negotiate-auth.trusted-urisyour.anaconda.repository

注意:替换your.anaconda.repository为您的本地存储库服务器。

浏览器

  1. 工具菜单中,选择 Internet 选项。
  2. 在“高级”选项卡上的“安全”部分,选择“启用集成 Windows 身份验证”。