Windows上的Conda自定义频道

时间:2016-04-04 15:18:56

标签: windows conda

我已按照详细here的步骤在Windows框中创建了自定义渠道。

现在我想从另一台机器访问它,但是channel参数是一个URI,我不知道它应采用什么形式的Windows。

这是我试图执行的命令:

conda search -c file://machine\C\channel --override-channels scipy

失败,出现以下错误消息:

  

获取包元数据:错误:索引文件无效

5 个答案:

答案 0 :(得分:2)

Let's say that your custom channel is located in the following directory: N:\conda\channel. Then we would expect to see the following in this directory (1) the win-64 directory (2) the index files inside, in this case the directory N:\conda\channel\win-64\, of repodata.json and repodata.json.bz2 (3) any packages that you have added to your channel. A search on this channel for the scipy package, ignoring all other channels, would look like this conda search -c file://N:\conda\channel --override-channels scipy

Did you add the scipy package into your custom channel? If you did, then did you run conda index on that directory?

I'm a little confused by your directory structure but, if your channel is machine\C\channel, then what happens when you do dir machine\C\channel?

答案 1 :(得分:2)

我一直试图做同样的事情,answer by Paul让我有点悲观。

事实证明可以使用UNC路径。 在尝试了几百种斜杠和反斜杠组合之后,我发现这个组合起作用了:

conda search -c "file://\\DOMAIN\SERVER\SHARE\conda\channel" --override-channels

同样,

conda config --add channels "file://\\DOMAIN\SERVER\SHARE\conda\channel"

将频道添加到配置文件中。

答案 2 :(得分:1)

如果您尝试在本地目录(而不是UNC)中搜索conda包,则以下两种方法对我有效。

  1. 导航到包含该程序包的驱动器,然后尝试
  2. conda search -c file://folder_path/channel --override-channels

    1. 更好的方法是删除file标志,允许您从任何驱动器进行搜索。型
    2. conda search -c Drive://folder_path/channel --override-channels因此,如果您从D:驱动器进行搜索,则会将其键入 conda search -c D://folder_path/channel --override-channels

答案 3 :(得分:0)

尽管@gDexter42帮助我朝着正确的方向发展,但其他答案我都没有成功。 API可能已更改。测试几个不同的选项

  • 您可以互换使用/\
  • 您不需要转义空格
  • 您不需要将路径用引号引起来

在可通过网络访问的目录中创建custom channel之后,您可以使用文件路径搜索conda软件包,但不包括其他帖子和the documentation中提到的file://

对于UNC路径:

$ conda search -c //my_nas/some/path with spaces/channel --override-channels

或     $ conda搜索-c \ my_nas \ some \带有空格的路径\ channel --override-channels

如果该文件夹位于本地,或者您已将网络目录安装到本地路径(在此示例中为D:\),则将使用该文件路径。

$ conda search -c D:/some/path with spaces/channel --override-channels 

$ conda search -c D:\some\path with spaces\channel --override-channels 

我使用Git Bash for Windows和Anaconda Prompt(我认为它只是cmd.exe,并且修改了路径,所以base / root是活动环境)测试了这些命令。

请注意,如果您随后想要将该路径添加到.condarc文件中,则可以使用相同的路径。

channels: - \\my_nas\some\path with spaces\channel # UNC - D:/some/path with spaces/channel # local drive - defaults # this gives defaults lower priority ssl_verify: true

答案 4 :(得分:0)

如果您的conda频道位于C:\ conda-channel,请执行以下操作:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="parent">
  <div class="child">content...</div>
  <div class="sibling">content...</div>
</div>
<div class="parent">
  <div class="child">content...</div>
  <div class="sibling">different content...</div>
</div>
<div class="parent">
  <div class="child">content...</div>
  <div class="sibling">different content...</div>
</div>

conda 4.6+中当前存在一个错误,其中conda search -c file://\conda-channel --override-channels 无效,因为它在解析时会删除冒号。降级到4.5很危险,并且可能会破坏您的安装。