Deep learning Conda Colab收集包元数据(current_repodata.json)时出错:失败的InvalidVersionSpec:Invalid version';4.19.112+';:空版本组件

Deep learning Conda Colab收集包元数据(current_repodata.json)时出错:失败的InvalidVersionSpec:Invalid version';4.19.112+';:空版本组件,deep-learning,anaconda,conda,google-colaboratory,miniconda,Deep Learning,Anaconda,Conda,Google Colaboratory,Miniconda,浏览器:谷歌浏览器最新版本 我根据这篇文章在colab中设置了conda,几天前它工作得很好。 在那之后,我试图建立 通过运行这些命令 !conda create -n FairMOT --yes !conda activate FairMOT --yes !conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch --yes 现在,这是我收到的错误输出 CommandNotFoundError:

浏览器:谷歌浏览器最新版本

我根据这篇文章在colab中设置了conda,几天前它工作得很好。

在那之后,我试图建立 通过运行这些命令

!conda create -n FairMOT --yes
!conda activate FairMOT --yes
!conda install  pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch --yes
现在,这是我收到的错误输出

CommandNotFoundError: Your shell has not been properly configured to use 'conda deactivate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.


Collecting package metadata (current_repodata.json): failed

InvalidVersionSpec: Invalid version '4.19.112+': empty version component


CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.


Collecting package metadata (current_repodata.json): failed

InvalidVersionSpec: Invalid version '4.19.112+': empty version component

CommandNotFoundError:您的shell未正确配置为使用“conda deactivate”。
要初始化shell,请运行
$conda init
当前支持的shell有:
-猛击
-鱼
-tcsh
-克逊什
-zsh
-动力壳
有关更多信息和选项,请参阅“conda init--help”。
重要提示:在运行“conda init”后,您可能需要关闭并重新启动shell。
收集包元数据(current_repodata.json):失败
InvalidVersionSpec:无效版本“4.19.112+”:空版本组件
CommandNotFoundError:您的shell未正确配置为使用“conda activate”。
要初始化shell,请运行
$conda init
当前支持的shell有:
-猛击
-鱼
-tcsh
-克逊什
-zsh
-动力壳
有关更多信息和选项,请参阅“conda init--help”。
重要提示:在运行“conda init”后,您可能需要关闭并重新启动shell。
收集包元数据(current_repodata.json):失败
InvalidVersionSpec:无效版本“4.19.112+”:空版本组件

我创建了一个快速修复程序。我不认为这是一个长期的解决办法

更改引发
InvalidVersionSpec
错误的文件内容。在我的例子中,这是文件/usr/local/lib/python3.7/site packages/conda/models/version.py。您可以使用
获取案例中此文件的位置!conda创建您的_env--verbose
。(请注意,一个文件会生成异常,但另一个文件会引发
InvalidVersionSpec
,请选择后者)

以下是我们感兴趣的代码行:

#导入。。。
#类定义。。。
@带_元类(SingleStrArgCachingType)
类VersionOrder(对象):
# ...
def ___;初始(自,vstr):
# ...
#以下行引发异常:
如果不是c:
引发InvalidVersionSpec(vstr,“空版本组件”)
在类
VersionOrder
\uuuu init\uuuu
方法的第一行添加以下内容:

如果isinstance(vstr,str)和vstr='4.19.112+':
vstr='4.19.112'
看起来是这样的:

#导入。。。
#类定义。。。
@带_元类(SingleStrArgCachingType)
类VersionOrder(对象):
# ...
def ___;初始(自,vstr):
如果isinstance(vstr,str)和vstr='4.19.112+':#添加了代码
vstr='4.19.112'
# ...
#以下行引发异常:
如果不是c:
引发InvalidVersionSpec(vstr,“空版本组件”)
现在的情况基本上是从版本名中删除
+
。它会创建错误,因此可能是版本规范的输入错误,或者是conda的
VersionOrder
类在处理此语法时出现的错误。我建议将此解决方案作为快速修复,以避免对这两个文件产生副作用

如何在Colab中轻松实现这一点 使用cat打印文件/usr/local/lib/python3.7/site-packages/conda/models/version.py的内容:

!cat/usr/local/lib/python3.7/site-packages/conda/models/version.py
使用剪贴板复制内容并将其粘贴到新的代码单元中,该单元以magic命令
%%file my_new_version_file.py开始:

%%file my_new_version_file.py

# Paste your clipboard here
接下来,在这个新单元格中添加前面提到的代码并运行它。 这将创建一个包含单元格内容的文件my\u new\u version\u file.py

然后使用
shutil
将生成的文件移动到原始文件的路径中:

导入shutil
move('my_new_version_file.py','/usr/local/lib/python3.7/site packages/conda/models/version.py')

版本
'4.19.112+”
指的是Linux版本,您可以在这里找到
!目录中的cat/proc/version
。这并不能解决手头的问题,但可能是一个寻找的好地方。运行
时使用选项
--verbose
!conda create
您应该会看到有问题的文件,在我的例子中是:
/usr/local/lib/python3.7/site packages/conda/models/version.py
。关于如何解决这个问题有什么更新吗?让我高兴!谢谢!您可以将
%%file my\u new\u version\u file.py
更改为
%%file new\u version\u file.py
,使其与下面使用的文件名一致。