conda / conda

A system-level, binary package and environment manager running on all major operating systems and platforms.
https://docs.conda.io/projects/conda/
Other
6.37k stars 1.66k forks source link

An unexpected error has occurred trying to activate an environment on MacOS #14272

Open juanwulu opened 5 days ago

juanwulu commented 5 days ago

Checklist

What happened?

After a recent update on my MacOS, the local Python version upgraded to Python 3.12.6. As a result, I was unable to activate my existing environment. The following is the error report:

❯ conda activate courses

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

    Traceback (most recent call last):
      File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.12/site-packages/conda/exception_handler.py", line 18, in __call__
        return func(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^
      File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.12/site-packages/conda/cli/main.py", line 110, in main_sourced
        print(activator.execute(), end="")
              ^^^^^^^^^^^^^^^^^^^
      File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.12/site-packages/conda/activate.py", line 228, in execute
        return getattr(self, self.command)()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.12/site-packages/conda/activate.py", line 193, in activate
        builder_result = self.build_activate(self.env_name_or_prefix)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.12/site-packages/conda/activate.py", line 371, in build_activate
        return self._build_activate_stack(env_name_or_prefix, False)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.12/site-packages/conda/activate.py", line 461, in _build_activate_stack
        deactivate_scripts = self._get_deactivate_scripts(old_conda_prefix)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.12/site-packages/conda/activate.py", line 824, in _get_deactivate_scripts
        for entry in os.scandir(join(prefix, "etc", "conda", "deactivate.d"))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "<frozen posixpath>", line 76, in join
    TypeError: expected str, bytes or os.PathLike object, not NoneType

`$ /opt/homebrew/Caskroom/miniconda/base/bin/conda shell.posix activate courses`

  environment variables:
                 CIO_TEST=<not set>
                CONDA_EXE=/opt/homebrew/Caskroom/miniconda/base/bin/conda
           CONDA_PREFIX_5=/opt/homebrew/Caskroom/miniconda/base/envs/courses
           CONDA_PREFIX_6=/opt/homebrew/Caskroom/miniconda/base
         CONDA_PYTHON_EXE=/opt/homebrew/Caskroom/miniconda/base/bin/python
               CONDA_ROOT=/opt/homebrew/Caskroom/miniconda/base
              CONDA_SHLVL=7
           CURL_CA_BUNDLE=<not set>
                 INFOPATH=/opt/homebrew/share/info:
               LD_PRELOAD=<not set>
                     PATH=/Users/dave/google-cloud-sdk/bin:/opt/homebrew/bin:/opt/homebrew/sbin:
                          /usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/
                          sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/l
                          ocal/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/u
                          sr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr
                          /appleinternal/bin:/opt/X11/bin:/Library/TeX/texbin:/Users/dave/.cargo
                          /bin
       REQUESTS_CA_BUNDLE=<not set>
            SSL_CERT_FILE=<not set>

     active environment : None
            shell level : 7
       user config file : /Users/dave/.condarc
 populated config files : 
          conda version : 24.7.1
    conda-build version : not installed
         python version : 3.12.4.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=m1
                          __conda=24.7.1=0
                          __osx=14.6.1=0
                          __unix=0=0
       base environment : /opt/homebrew/Caskroom/miniconda/base  (writable)
      conda av data dir : /opt/homebrew/Caskroom/miniconda/base/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/osx-arm64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-arm64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /opt/homebrew/Caskroom/miniconda/base/pkgs
                          /Users/dave/.conda/pkgs
       envs directories : /opt/homebrew/Caskroom/miniconda/base/envs
                          /Users/dave/.conda/envs
               platform : osx-arm64
             user-agent : conda/24.7.1 requests/2.32.3 CPython/3.12.4 Darwin/23.6.0 OSX/14.6.1 solver/libmamba conda-libmamba-solver/24.7.0 libmambapy/1.5.8
                UID:GID : 501:20
             netrc file : None
           offline mode : False

An unexpected error has occurred. Conda has prepared the above report.
If you suspect this error is being caused by a malfunctioning plugin,
consider using the --no-plugins option to turn off plugins.

Example: conda --no-plugins install <package>

Alternatively, you can set the CONDA_NO_PLUGINS environment variable on
the command line to run the command without plugins enabled.

Example: CONDA_NO_PLUGINS=true conda install <package>

Conda Info

❯ conda info

     active environment : None
            shell level : 7
       user config file : /Users/dave/.condarc
 populated config files : 
          conda version : 24.7.1
    conda-build version : not installed
         python version : 3.12.4.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=m1
                          __conda=24.7.1=0
                          __osx=14.6.1=0
                          __unix=0=0
       base environment : /opt/homebrew/Caskroom/miniconda/base  (writable)
      conda av data dir : /opt/homebrew/Caskroom/miniconda/base/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/osx-arm64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-arm64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /opt/homebrew/Caskroom/miniconda/base/pkgs
                          /Users/dave/.conda/pkgs
       envs directories : /opt/homebrew/Caskroom/miniconda/base/envs
                          /Users/dave/.conda/envs
               platform : osx-arm64
             user-agent : conda/24.7.1 requests/2.32.3 CPython/3.12.4 Darwin/23.6.0 OSX/14.6.1 solver/libmamba conda-libmamba-solver/24.7.0 libmambapy/1.5.8 aau/0.4.4 c/. s/. e/.
                UID:GID : 501:20
             netrc file : None
           offline mode : False

Conda Config

❯ conda config --show-sources

Conda list

❯ conda list --show-channel-urls
# packages in environment at /opt/homebrew/Caskroom/miniconda/base:
#
# Name                    Version                   Build  Channel
anaconda-anon-usage       0.4.4           py312hd6b623d_100    defaults
archspec                  0.2.3              pyhd3eb1b0_0    defaults
boltons                   23.0.0          py312hca03da5_0    defaults
brotli-python             1.0.9           py312h313beb8_8    defaults
bzip2                     1.0.8                h80987f9_6    defaults
c-ares                    1.19.1               h80987f9_0    defaults
ca-certificates           2024.7.2             hca03da5_0    defaults
certifi                   2024.7.4        py312hca03da5_0    defaults
cffi                      1.16.0          py312h80987f9_1    defaults
charset-normalizer        3.3.2              pyhd3eb1b0_0    defaults
conda                     24.7.1          py312hca03da5_0    defaults
conda-content-trust       0.2.0           py312hca03da5_1    defaults
conda-libmamba-solver     24.7.0             pyhd3eb1b0_0    defaults
conda-package-handling    2.3.0           py312hca03da5_0    defaults
conda-package-streaming   0.10.0          py312hca03da5_0    defaults
cryptography              42.0.5          py312hd4332d6_1    defaults
distro                    1.9.0           py312hca03da5_0    defaults
expat                     2.6.2                h313beb8_0    defaults
fmt                       9.1.0                h48ca7d4_1    defaults
frozendict                2.4.2           py312hca03da5_0    defaults
icu                       73.1                 h313beb8_0    defaults
idna                      3.7             py312hca03da5_0    defaults
jsonpatch                 1.33            py312hca03da5_1    defaults
jsonpointer               2.1                pyhd3eb1b0_0    defaults
krb5                      1.20.1               hf3e1bf2_1    defaults
libarchive                3.6.2                h62fee54_3    defaults
libcurl                   8.7.1                h3e2b118_0    defaults
libcxx                    14.0.6               h848a8c0_0    defaults
libedit                   3.1.20230828         h80987f9_0    defaults
libev                     4.33                 h1a28f6b_1    defaults
libffi                    3.4.4                hca03da5_1    defaults
libiconv                  1.16                 h80987f9_3    defaults
libmamba                  1.5.8                haeffa04_2    defaults
libmambapy                1.5.8           py312h1c5506f_2    defaults
libnghttp2                1.57.0               h62f6fdd_0    defaults
libsolv                   0.7.24               h514c7bf_1    defaults
libssh2                   1.11.0               h3e2b118_0    defaults
libxml2                   2.10.4               h0b34f26_2    defaults
lz4-c                     1.9.4                h313beb8_1    defaults
menuinst                  2.1.2           py312hca03da5_0    defaults
ncurses                   6.4                  h313beb8_0    defaults
openssl                   3.0.14               h80987f9_0    defaults
packaging                 24.1            py312hca03da5_0    defaults
pcre2                     10.42                hb066dcc_1    defaults
pip                       24.2            py312hca03da5_0    defaults
platformdirs              3.10.0          py312hca03da5_0    defaults
pluggy                    1.0.0           py312hca03da5_1    defaults
pybind11-abi              5                    hd3eb1b0_0    defaults
pycosat                   0.6.6           py312h80987f9_1    defaults
pycparser                 2.21               pyhd3eb1b0_0    defaults
pysocks                   1.7.1           py312hca03da5_0    defaults
python                    3.12.4               h99e199e_1    defaults
python.app                3               py312h80987f9_0    defaults
readline                  8.2                  h1a28f6b_0    defaults
reproc                    14.2.4               h313beb8_2    defaults
reproc-cpp                14.2.4               h313beb8_2    defaults
requests                  2.32.3          py312hca03da5_0    defaults
ruamel.yaml               0.17.21         py312h80987f9_0    defaults
setuptools                72.1.0          py312hca03da5_0    defaults
sqlite                    3.45.3               h80987f9_0    defaults
tk                        8.6.14               h6ba3021_0    defaults
tqdm                      4.66.4          py312h989b03a_0    defaults
truststore                0.8.0           py312hca03da5_0    defaults
tzdata                    2024a                h04d1e81_0    defaults
urllib3                   2.2.2           py312hca03da5_0    defaults
wheel                     0.43.0          py312hca03da5_0    defaults
xz                        5.4.6                h80987f9_1    defaults
yaml-cpp                  0.8.0                h313beb8_1    defaults
zlib                      1.2.13               h18a0788_1    defaults
zstandard                 0.22.0          py312h1a4646a_0    defaults
zstd                      1.5.5                hd90d995_2    defaults

Additional Context

No response

travishathaway commented 3 days ago

@juanwulu,

Can you try the following:

You're seeing this error because somehow the CONDA_PREFIX environment variable is not being set correctly. I'm not sure why, but perhaps the above will help fix it. Otherwise, this could be a weird issue with installing conda via Homebrew.