conda-forge / miniforge

A conda-forge distribution.
https://conda-forge.org/miniforge
Other
6k stars 317 forks source link

When creating new environment getting: KeyError('pkgs_dirs') / 'YamlRawParameter' object has no attribute 'expand' #436

Closed notatallshaw-gts closed 1 year ago

notatallshaw-gts commented 1 year ago

Solution to issue cannot be found in the documentation.

Issue

On a fresh install of Miniforge 22.11 with the only config change to set the Proxy I am getting the following error:

WARNING conda.exceptions:print_unexpected_error_report(1240): KeyError('pkgs_dirs')
Traceback (most recent call last):
  File "...\miniforge3\lib\site-packages\conda\exceptions.py", line 1118, in __call__
    return func(*args, **kwargs)
  File "...\miniforge3\lib\site-packages\conda\cli\main.py", line 69, in main_subshell
    exit_code = do_call(args, p)
  File "...\miniforge3\lib\site-packages\conda\cli\conda_argparse.py", line 91, in do_call
    return getattr(module, func_name)(args, parser)
  File "...\miniforge3\lib\site-packages\conda\notices\core.py", line 109, in wrapper
    return func(*args, **kwargs)
  File "...\miniforge3\lib\site-packages\conda\cli\main_create.py", line 41, in execute
    install(args, parser, 'create')
  File "...\miniforge3\lib\site-packages\conda\cli\install.py", line 111, in install
    context.validate_configuration()
  File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 1400, in validate_configuration
    raise_errors(tuple(chain.from_iterable((errors, post_errors))))
  File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 1397, in <genexpr>
    errors = chain.from_iterable(Configuration._collect_validation_error(getattr, self, name)
  File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 1391, in _collect_validation_error
    func(*args, **kwargs)
  File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 1236, in __get__
    expanded = merged.expand() if self._expandvars else merged
  File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 555, in expand
    new_value = type(self.value)((k, v.expand()) for k, v in self.value.items())
  File "...\miniforge3\lib\site-packages\conda\_vendor\frozendict\__init__.py", line 21, in __init__
    self._dict = self.dict_cls(*args, **kwargs)
  File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 555, in <genexpr>    new_value = type(self.value)((k, v.expand()) for k, v in self.value.items())
  File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 557, in expand
    new_value = type(self.value)(v.expand() for v in self.value)
  File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 557, in <genexpr>    new_value = type(self.value)(v.expand() for v in self.value)
AttributeError: 'YamlRawParameter' object has no attribute 'expand'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "...\miniforge3\lib\site-packages\conda\exceptions.py", line 1238, in print_unexpected_error_report
    message_builder.append(get_main_info_str(error_report['conda_info']))
  File "...\miniforge3\lib\site-packages\conda\cli\main_info.py", line 236, in get_main_info_str
    info_dict['_' + key] = ('\n' + 26 * ' ').join(info_dict[key])
KeyError: 'pkgs_dirs'

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

    Traceback (most recent call last):
      File "...\miniforge3\lib\site-packages\conda\exceptions.py", line 1118, in __call__
        return func(*args, **kwargs)
      File "...\miniforge3\lib\site-packages\conda\cli\main.py", line 69, in main_subshell
        exit_code = do_call(args, p)
      File "...\miniforge3\lib\site-packages\conda\cli\conda_argparse.py", line 91, in do_call
        return getattr(module, func_name)(args, parser)
      File "...\miniforge3\lib\site-packages\conda\notices\core.py", line 109, in wrapper
        return func(*args, **kwargs)
      File "...\miniforge3\lib\site-packages\conda\cli\main_create.py", line 41, in execute
        install(args, parser, 'create')
      File "...\miniforge3\lib\site-packages\conda\cli\install.py", line 111, in install
        context.validate_configuration()
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 1400, in validate_configuration
        raise_errors(tuple(chain.from_iterable((errors, post_errors))))
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 1397, in <genexpr>
        errors = chain.from_iterable(Configuration._collect_validation_error(getattr, self, name)
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 1391, in _collect_validation_error
        func(*args, **kwargs)
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 1236, in __get__
        expanded = merged.expand() if self._expandvars else merged
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 555, in expand
        new_value = type(self.value)((k, v.expand()) for k, v in self.value.items())
      File "...\miniforge3\lib\site-packages\conda\_vendor\frozendict\__init__.py", line 21, in __init__
        self._dict = self.dict_cls(*args, **kwargs)
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 555, in <genexpr>
        new_value = type(self.value)((k, v.expand()) for k, v in self.value.items())
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 557, in expand
        new_value = type(self.value)(v.expand() for v in self.value)
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 557, in <genexpr>
        new_value = type(self.value)(v.expand() for v in self.value)
    AttributeError: 'YamlRawParameter' object has no attribute 'expand'

`$ ...\miniforge3\Scripts\conda-script.py create -n py11 python=3.11`

  environment variables:
conda info could not be constructed.
KeyError('pkgs_dirs')

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? [y/N]: N

No report sent. To permanently opt-out, use

    $ conda config --set report_errors false

Installed packages

>conda list
# packages in environment at ...\miniforge3:
#
# Name                    Version                   Build  Channel
brotlipy                  0.7.0           py310h8d17308_1005    conda-forge
bzip2                     1.0.8                h8ffe710_4    conda-forge
ca-certificates           2022.12.7            h5b45459_0    conda-forge
certifi                   2022.12.7          pyhd8ed1ab_0    conda-forge
cffi                      1.15.1          py310h628cb3f_3    conda-forge
charset-normalizer        2.1.1              pyhd8ed1ab_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
conda                     22.11.1         py310h5588dad_1    conda-forge
conda-package-handling    2.0.2              pyh38be061_0    conda-forge
conda-package-streaming   0.7.0              pyhd8ed1ab_1    conda-forge
cryptography              39.0.1          py310h6e82f81_0    conda-forge
idna                      3.4                pyhd8ed1ab_0    conda-forge
libffi                    3.4.2                h8ffe710_5    conda-forge
libsqlite                 3.40.0               hcfcfb64_0    conda-forge
libzlib                   1.2.13               hcfcfb64_4    conda-forge
menuinst                  1.4.19          py310h5588dad_1    conda-forge
miniforge_console_shortcut 1.0                  h57928b3_0    conda-forge
openssl                   3.0.8                hcfcfb64_0    conda-forge
pip                       23.0               pyhd8ed1ab_0    conda-forge
pluggy                    1.0.0              pyhd8ed1ab_5    conda-forge
pycosat                   0.6.4           py310h8d17308_1    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pyopenssl                 23.0.0             pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1              pyh0701188_6    conda-forge
python                    3.10.9          h4de0772_0_cpython    conda-forge
python_abi                3.10                    3_cp310    conda-forge
requests                  2.28.2             pyhd8ed1ab_0    conda-forge
ruamel.yaml               0.17.21         py310h8d17308_2    conda-forge
ruamel.yaml.clib          0.2.7           py310h8d17308_1    conda-forge
setuptools                65.6.3             pyhd8ed1ab_0    conda-forge
tk                        8.6.12               h8ffe710_0    conda-forge
toolz                     0.12.0             pyhd8ed1ab_0    conda-forge
tqdm                      4.64.1             pyhd8ed1ab_0    conda-forge
tzdata                    2022g                h191b570_0    conda-forge
ucrt                      10.0.22621.0         h57928b3_0    conda-forge
urllib3                   1.26.14            pyhd8ed1ab_0    conda-forge
vc                        14.3                hb6edc58_10    conda-forge
vs2015_runtime            14.34.31931         h4c5c07a_10    conda-forge
wheel                     0.38.4             pyhd8ed1ab_0    conda-forge
win_inet_pton             1.1.0              pyhd8ed1ab_6    conda-forge
xz                        5.2.6                h8d14728_0    conda-forge
zstandard                 0.19.0          py310h0009e47_1    conda-forge
zstd                      1.5.2                h12be248_6    conda-forge

Environment info

Running conda info produces the error:

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

    Traceback (most recent call last):
      File "...\miniforge3\lib\site-packages\conda\exceptions.py", line 1118, in __call__
        return func(*args, **kwargs)
      File "...\miniforge3\lib\site-packages\conda\cli\main.py", line 69, in main_subshell
        exit_code = do_call(args, p)
      File "...\miniforge3\lib\site-packages\conda\cli\conda_argparse.py", line 91, in do_call
        return getattr(module, func_name)(args, parser)
      File "...\miniforge3\lib\site-packages\conda\cli\main_info.py", line 320, in execute
        info_dict = get_info_dict(args.system)
      File "...\miniforge3\lib\site-packages\conda\cli\main_info.py", line 178, in get_info_dict
        config_files=context.config_files,
      File "...\miniforge3\lib\site-packages\conda\base\context.py", line 807, in config_files
        return tuple(path for path in context.collect_all()
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 1409, in collect_all
        typed_values[source], validation_errors[source] = self.check_source(source)
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 1366, in check_source
        typed_value = loaded_parameter.typify(match.source)
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 591, in typify
        return LoadedParameter._typify_data_structure(self.value, source, element_type)
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 602, in _typify_data_structure
        return type(value)((k, v.typify(source)) for k, v in value.items())
      File "...\miniforge3\lib\site-packages\conda\_vendor\frozendict\__init__.py", line 21, in __init__
        self._dict = self.dict_cls(*args, **kwargs)
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 602, in <genexpr>
        return type(value)((k, v.typify(source)) for k, v in value.items())
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 591, in typify
        return LoadedParameter._typify_data_structure(self.value, source, element_type)
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 604, in _typify_data_structure
        return type(value)(v.typify(source) for v in value)
      File "...\miniforge3\lib\site-packages\conda\common\configuration.py", line 604, in <genexpr>
        return type(value)(v.typify(source) for v in value)
    AttributeError: 'YamlRawParameter' object has no attribute 'typify'
notatallshaw-gts commented 1 year ago

Found the issue, I ran:

conda config --add proxy_servers.http "http://127.0.0.1:3128"

Instead of:

conda config --set proxy_servers.http "http://127.0.0.1:3128"