配置 Anaconda Client#
Anaconda Client 使您能够将包上传到本地 Anaconda Enterprise 4 仓库,并提供高度精细的访问控制功能。以下说明描述了如何配置 Client 以使用本地仓库而不是 Anaconda Cloud。
Client 配置#
在每台访问本地仓库的机器上,以机器的本地用户身份运行此命令
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 config
步骤后,您可以从本地仓库而不是公共 Anaconda.org 访问所有包和通道。
然后,用户可以通过运行以下命令将个人帐户添加到他们的 .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
搜索顺序为
私有本地仓库通道。
私有 Anaconda.org 通道 2。
公共 Anaconda.org 通道 1。
本地仓库上的默认通道。
Pip 配置#
要从您的仓库安装 PyPI 包,请将您的通道添加到您的 ~/.pip/pip.conf
配置文件。
编辑文件并将 extra-index-url 条目添加到 global config 部分
[global]
extra-index-url = http://your.server.name:<port>/pypi/USERNAME/simple
注意:将 your.server.name
替换为本地仓库的名称,将 <port>
替换为仓库使用的端口名称,并将 USERNAME
替换为您的用户名。
Kerberos 配置#
如果您已按照 配置仓库以使用 Kerberos 中的描述启用 Kerberos 身份验证,则您的浏览器和 Client 应该能够使用 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 身份验证,您必须将仓库列入白名单,作为接收凭据的可信方。
您必须在配置白名单后重新启动浏览器,更改才能生效。
Safari#
Safari 不需要配置——它会自动显示您的凭据,无需列入白名单。
Chrome#
必须将 AuthServerWhitelist 策略设置为 your.anaconda.repository
,以允许 Chrome 将凭据呈现给主机名为 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 身份验证 和 管理 文档。
Firefox#
导航到配置页面
about:config
。搜索
negotiate
。将配置项
network.negotiate-auth.trusted-uris
设置为your.anaconda.repository
注意:将 your.anaconda.repository
替换为您的本地仓库服务器。
Internet Explorer#
在“工具”菜单中,选择“Internet 选项”。
在“高级”选项卡上的“安全”部分中,选择“启用集成 Windows 身份验证”。