簡體   English   中英

導出 conda 環境時出現 AttributeError

[英]AttributeError when exporting conda environment

當我嘗試使用conda env export -n torch > torch.yml我的一個環境時,我收到以下錯誤:

Traceback (most recent call last):
  File "/home/onatgirit/anaconda3/bin/conda-env", line 6, in <module>
    from conda_env.cli.main import main
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/conda_env/cli/main.py", line 44, in <module>
    from . import main_create
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/conda_env/cli/main_create.py", line 20, in <module>
    from .. import specs
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/conda_env/specs/__init__.py", line 15, in <module>
    from .notebook import NotebookSpec
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/conda_env/specs/notebook.py", line 5, in <module>
    import nbformat
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/nbformat/__init__.py", line 11, in <module>
    from . import v1, v2, v3, v4
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/nbformat/v4/__init__.py", line 39, in <module>
    from .convert import downgrade, upgrade
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/nbformat/v4/convert.py", line 13, in <module>
    from .. import validator
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/nbformat/validator.py", line 13, in <module>
    from .json_compat import ValidationError, _validator_for_name, get_current_validator
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/nbformat/json_compat.py", line 11, in <module>
    import jsonschema
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/jsonschema/__init__.py", line 12, in <module>
    from jsonschema._format import (
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/jsonschema/_format.py", line 10, in <module>
    from jsonschema.exceptions import FormatError
  File "/home/onatgirit/anaconda3/lib/python3.8/site-packages/jsonschema/exceptions.py", line 158, in <module>
    @attr.s(hash=True)
AttributeError: module 'attr' has no attribute 's'

conda info的輸出:

     active environment : None
            shell level : 0
       user config file : /home/onatgirit/.condarc
 populated config files : /home/onatgirit/.condarc
          conda version : 4.13.0
    conda-build version : 3.20.5
         python version : 3.8.13.final.0
       virtual packages : __cuda=11.6=0
                          __linux=5.13.0=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/onatgirit/anaconda3  (writable)
      conda av data dir : /home/onatgirit/anaconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/onatgirit/anaconda3/pkgs
                          /home/onatgirit/.conda/pkgs
       envs directories : /home/onatgirit/anaconda3/envs
                          /home/onatgirit/.conda/envs
               platform : linux-64
             user-agent : conda/4.13.0 requests/2.27.1 CPython/3.8.13 Linux/5.13.0-44-generic ubuntu/20.04.4 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

conda list -n base '(nbformat|jsonschema|attr)'輸出:

    # packages in environment at /home/onatgirit/anaconda3:
    #
    # Name                    Version                   Build  Channel
    attrs                     21.4.0             pyhd3eb1b0_0  
    jsonschema                4.4.0            py38h06a4308_0  
    nbformat                  5.3.0            py38h06a4308_0  
    python-fastjsonschema     2.15.1             pyhd3eb1b0_0

conda run -n base python -c 'import attr; print(attr.__spec__)'輸出 conda run -n base python -c 'import attr; print(attr.__spec__)'

ModuleSpec(name='attr', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fd32b603160>, origin='/home/onatgirit/.local/lib/python3.8/site-packages/attr.py')

我目前使用的 conda 版本是 4.13.0,我使用的是內核版本為 5.13.0-44-generic 的 Ubuntu 20.04.4。

我也嘗試導出其他環境,並且也遇到了同樣的問題。

我也嘗試通過 pip 卸載“attr”並安裝“attrs”,但它對這種情況沒有任何影響。

這里的問題是從用戶站點側加載,這可以從 Python 如何解析attr模塊中看出:

'/home/onatgirit/.local/lib/python3.8/site-packages/attr.py'

不確定該文件中的內容,但它掩蓋了attrs包預計將提供的attr模塊。

可以在此答案中找到解決此問題的幾個選項。 對於這種特殊情況,如果您不是故意使用用戶站點,我建議您刪除所有~/.local/lib/python*目錄(即,使用pip install --user的所有內容)。 否則,最簡單的解決方案可能是:

conda install -n base conda-forge::conda-ecosystem-user-package-isolation

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM