【问题标题】:Error report on creating environment from a yml file从 yml 文件创建环境的错误报告
【发布时间】:2021-09-08 11:12:11
【问题描述】:

我正在尝试从一个 yml 文件创建一个 conda 环境,我过去可以使用该文件创建环境并将其用作我的解释器。 (操作系统:Windows 64 - Python 到 Anaconda - IDE:VS Code)

我不得不多次删除这个环境并重新创建它,因为这个环境中添加了新的依赖项(conda env update --prefix ./env --file environment.yml --prune 不起作用)。我还必须从环境中手动删除一些 dll 文件。

到目前为止,环境创建工作。过了一会,再次创建环境,报错UserWarning: mkl-service package failed to import, therefore Intel(R) MKL initialization ensuring its correct out-of-the box operation under condition when Gnu OpenMP had already been loaded by Python process is not assured. Please install mkl-service package, see http://github.com/IntelPython/mkl-service,但是yml文件中包含了mkl-service。

我从C:\Users\Anaconda3\envs 中删除了环境并手动删除了整个文件夹。现在,当我尝试在 VS 代码终端中创建环境时,我收到错误报告:

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "C:\Users\Anaconda3\lib\site-packages\conda\exceptions.py", line 10
        return func(*args, **kwargs)
      File "C:\Users\Anaconda3\lib\site-packages\conda_env\cli\main.py", line 
        exit_code = getattr(module, func_name)(args, parser)
      File "C:\Users\Anaconda3\lib\site-packages\conda_env\cli\main_update.py"
        spec = install_specs.detect(name=name, filename=get_filename(args.file),
      File "C:\Users\Anaconda3\lib\site-packages\conda_env\specs\__init__.py",
        if spec.can_handle():
      File "C:\Users\Anaconda3\lib\site-packages\conda_env\specs\yaml_file.py"
        self._environment = env.from_file(self.filename)
      File "C:\Users\Anaconda3\lib\site-packages\conda_env\env.py", line 166, 
        return from_yaml(yamlstr, filename=filename)
      File "C:\Users\Anaconda3\lib\site-packages\conda_env\env.py", line 143, 
        data = yaml_safe_load(yamlstr)
      File "C:\Users\Anaconda3\lib\site-packages\conda\common\serialize.py", l
        return yaml.safe_load(string, version="1.2")
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\main.py", line 98
        return load(stream, SafeLoader, version)
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\main.py", line 93
        return loader._constructor.get_single_data()
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\constructor.py", 
        node = self.composer.get_single_node()
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\composer.py", lin
        document = self.compose_document()
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\composer.py", lin
        node = self.compose_node(None, None)
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\composer.py", lin
        node = self.compose_mapping_node(anchor)
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\composer.py", lin
        item_value = self.compose_node(node, item_key)
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\composer.py", lin
        node = self.compose_sequence_node(anchor)
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\composer.py", lin
        node.value.append(self.compose_node(node, index))
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\composer.py", lin
        node = self.compose_mapping_node(anchor)
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\composer.py", lin
        item_value = self.compose_node(node, item_key)
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\composer.py", lin
        node = self.compose_sequence_node(anchor)
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\composer.py", lin
        while not self.parser.check_event(SequenceEndEvent):
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\parser.py", line 
        self.current_event = self.state()
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\parser.py", line 
        if self.scanner.check_token(BlockEntryToken):
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\scanner.py", line
        while self.need_more_tokens():
      File "C:\Users\Anaconda3\lib\site-packages\ruamel_yaml\scanner.py", line
        self.stale_possible_simple_keys()

    could not find expected ':'
      in "<unicode string>", line 40, column 1:
        prefix: C:\Users\.conda\ ...
        ^ (line: 40)

`$ C:\Users\Anaconda3\Scripts\conda-env-script.py update --prefix ./env --file

  environment variables:
                 CIO_TEST=<not set>
  CONDA_AUTO_UPDATE_CONDA=false
        CONDA_DEFAULT_ENV=environment
                CONDA_EXE=C:\Users\Anaconda3\condabin\..\Scripts\conda.exe
               CONDA_EXES="C:\Users\Anaconda3\condabin\..\Scripts\conda.exe"
             CONDA_PREFIX=C:\Users\Anaconda3\envs\environment
           CONDA_PREFIX_1=C:\Users\Anaconda3
    CONDA_PROMPT_MODIFIER=(environment)
         CONDA_PYTHON_EXE=C:\Users\Anaconda3\python.exe
               CONDA_ROOT=C:\Users\Anaconda3
              CONDA_SHLVL=2
           CURL_CA_BUNDLE=<not set>
                 HOMEPATH=\Users
                     PATH=C:\Users\Anaconda3;C:\Users\Anaconda3\Librar
                          4\bin;C:\Users\Anaconda3\Library\usr\bin;C:\Users\ab
                          onda3\Library\bin;C:\Users\Anaconda3\Scripts;C:\User
                          Anaconda3\bin;C:\Users\Anaconda3\envs\environment;C:
                          pbzz\Anaconda3\envs\environment\Library\mingw-w64\bin;C:\Use
                          \Anaconda3\envs\environment\Library\usr\bin;C:\Users
                          \envs\environment\Library\bin;C:\Users\Anaconda3\env
                          ent\Scripts;C:\Users\Anaconda3\envs\environment\bin;
                          bjpbzz\Anaconda3\condabin;C:\Program Files (x86)\VMware\VMwa
                          Workstation\bin;C:\Program Files\Microsoft MPI\Bin;C:\WINDOW
                          ;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\Win
                          hell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program
                          Files\1E\Client\Extensibility\NomadBranch;C:\Program Files\M
                          SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files
                          (x86)\Microsoft SQL Server\150\Tools\Binn;C:\Program Files\M
                          SQL Server\150\Tools\Binn;C:\Program Files\Microsoft SQL
                          Server\150\DTS\Binn;C:\Program Files (x86)\Microsoft SQL
                          Server\150\DTS\Binn;C:\Program Files\Azure Data Studio\bin;C
                          jpbzz\Anaconda3;C:\Users\Anaconda3\Library\mingw-w64
                          ers\Anaconda3\Library\usr\bin;C:\Users\Anaco
                          ry\bin;C:\Users\Anaconda3\Scripts;C:\Users\A
                          al\Microsoft\WindowsApps;C:\Users\AppData\Local\Prog
                          md;C:\Users\AppData\Local\Programs\Microsoft VS
                          Code\bin;C:\Program Files\Azure Data
                          Studio\bin;C:\Users\AppData\Local\GitHubDesktop\bin;
             PSMODULEPATH=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system
                          PowerShell\v1.0\Modules;C:\Program Files (x86)\Microsoft Azu
                          Information Protection\Powershell;C:\Program Files (x86)\Mic
                          Server\150\Tools\PowerShell\Modules\
       REQUESTS_CA_BUNDLE=<not set>
         SSF_LIBRARY_PATH=C:\Program Files (x86)\SAP\FrontEnd\SecureLogin\lib\sapcrypt
            SSL_CERT_FILE=<not set>
         STTASKFOLDERPATH=Ivanti\PatchSDK\Deployments

     active environment : environment
    active env location : C:\Users\Anaconda3\envs\environment
            shell level : 2
       user config file : C:\Users\.condarc
 populated config files : C:\Users\.condarc
          conda version : 4.10.3
    conda-build version : 3.21.4
         python version : 3.8.8.final.0
       virtual packages : __cuda=11.0=0
                          __win=0=0
                          __archspec=1=x86_64
       base environment : C:\Users\Anaconda3  (writable)
      conda av data dir : C:\Users\Anaconda3\etc\conda
  conda av metadata url : None
ta\Local\conda\conda\pkgs
       envs directories : C:\Users\Anaconda3\envs
                          C:\Users\.conda\envs
                          C:\Users\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/4.10.3 requests/2.25.1 CPython/3.8.8 Windows/10 Windows/10.0.19041
          administrator : False
             netrc file : None
           offline mode : False


An unexpected error has occurred. Conda has prepared the above report.

If submitted, this report will be used by core maintainers to improve
future releases of conda.
Would you like conda to send this report to the core maintainers?

我猜我在某个地方犯了一个致命的错误,但不知道在哪里。任何想法或解决方案将不胜感激。

更新1:

.yml 文件:

name: environment
channels:
  - defaults
dependencies:
  - blas=1.0
  - ca-certificates=2021.5.25
  - certifi=2021.5.30
  - icc_rt=2019.0.0
  - intel-openmp=2021.2.0
  - joblib=0.17.0
  - mkl=2020.2
  - mkl-service=2.3.0
  - mkl_fft=1.3.0
  - mkl_random=1.1.1
  - numpy=1.19.2
  - numpy-base=1.19.2
  - openssl=1.1.1k
  - pandas=1.2.4
  - patsy=0.5.1
  - pickleshare=0.7.5
  - pip=21.1.1
  - pyodbc=4.0.30
  - python=3.7.4
  - python-dateutil
  - pytz=2021.1
  - scipy=1.6.2
  - setuptools=52.0.0
  - six=1.15.0
  - sqlite=3.35.4
  - statsmodels=0.12.0
  - threadpoolctl=2.1.0
  - vc=14.2
  - vs2015_runtime=14.27.29016
  - wheel=0.36.2
  - wincertstore=0.2
  - pip:
    - imblearn==0.0
    - scikit-learn==0.23.2
prefix: C:\Users\.conda\envs\environment

Update2:我更改了项目存储库并能够创建环境。但不知道,为什么会这样。如果我找到一个合理的解决方案,我会与你分享。

【问题讨论】:

    标签: python yaml conda


    【解决方案1】:

    您的 YAML 文件中似乎存在格式问题。在编写包含冒号 : 和反斜杠 \ 的路径时使用单引号。特别是,修复prefix 设置如下:

    prefix: 'C:\Users\.conda\envs\environment'
    

    另请参阅 this 相关的有用帖子,了解何时以及如何在 YAML 文件中使用引号。

    【讨论】:

    • 使用引号,我得到了同样的错误。说实话,这个yml文件我以前用过几次都成功了。
    • @Yasi 即使它曾经在没有引号的情况下工作,但在存在特殊字符的情况下使用它们会更安全,请参阅链接了解原因。
    • @Yasi 堆栈跟踪表明解析 YAML 文件时出现问题。您能否用有关如何运行 Anaconda 的信息更新问题?
    • 谢谢@normanius 我刚刚观察到的另一点。我更改了存储库并能够再次创建环境。这对我来说很奇怪,我自己也很困惑这是怎么回事。
    • 好的,可能会发生。更新问题,以防您可以安全地重现问题,如果您有更好的理解,请添加详细信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2016-12-19
    相关资源
    最近更新 更多