首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ModuleNotFoundError:重置基本环境后没有名为“conda”的模块

ModuleNotFoundError:重置基本环境后没有名为“conda”的模块
EN

Stack Overflow用户
提问于 2019-12-09 20:58:24
回答 1查看 4.8K关注 0票数 1

我喜欢拥有极小的base conda环境。我意外地在这个环境中安装了一堆包,所以我尝试删除它们:

我按照conda: remove all installed packages from base/root environment的建议运行了以下命令:conda install --revision 0 -n base

但是,当我运行以下脚本重新安装要点时:

代码语言:javascript
运行
复制
conda install -c conda-forge wget rsync pv ipython jupyter jupyterlab pandas numpy biopython r-recommended python=3 -y

conda install -c bioconda pullseq samtools bbmap hmmer ncbi-genome-download -y

它坏了,我甚至无法访问我的conda

代码语言:javascript
运行
复制
-bash-4.1$ which conda
/usr/local/devel/ANNOTATION/jespinoz/anaconda3/condabin/conda
-bash-4.1$ conda -h
Traceback (most recent call last):
  File "/usr/local/devel/ANNOTATION/jespinoz/anaconda3/bin/conda", line 12, in <module>
    from conda.cli import main
ModuleNotFoundError: No module named 'conda'

有几篇文章指出,这与我的PYTHONPATHPYTHONHOME环境变量有关,但我没有这些设置:

代码语言:javascript
运行
复制
-bash-4.1$ echo $PYTHONHOME

-bash-4.1$ echo $PYTHONPATH

我认为这是因为我的默认python版本现在是3.8,它没有安装conda。但是,3.7确实安装了conda。

代码语言:javascript
运行
复制
-bash-4.1$ ls -l /usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.8/site-packages/  | grep "conda"
-bash-4.1$ ls -l /usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.7/site-packages/  | grep "conda"
drwxr-xr-x  2 jespinoz tigr     218 Dec  9 14:49 anaconda_client-1.7.2-py3.7.egg-info
drwxr-xr-x 10 jespinoz tigr     253 Jun 25 13:28 anaconda_navigator
drwxr-xr-x  2 jespinoz tigr     158 Jun 25 13:28 anaconda_navigator-1.9.7-py3.7.egg-info
drwxr-xr-x  6 jespinoz tigr     743 Dec  9 14:51 anaconda_project
drwxr-xr-x  2 jespinoz tigr     218 Dec  9 14:49 anaconda_project-0.8.2-py3.7.egg-info
drwxr-xr-x 11 jespinoz tigr     657 Dec  9 14:51 conda
drwxr-xr-x  2 jespinoz tigr     218 Dec  9 14:49 conda-4.6.11-py3.7.egg-info
drwxr-xr-x  7 jespinoz tigr    1012 Dec  9 14:51 conda_build
drwxr-xr-x  2 jespinoz tigr     218 Dec  9 14:49 conda_build-3.17.8-py3.7.egg-info
drwxr-xr-x  6 jespinoz tigr     295 Dec  9 14:51 conda_env
drwxr-xr-x  2 jespinoz tigr       0 Dec  9 14:59 conda_package_handling
drwxr-xr-x  3 jespinoz tigr     281 Dec  9 14:53 conda_verify
drwxr-xr-x  2 jespinoz tigr     188 Dec  9 14:49 conda_verify-3.1.1-py3.7.egg-info

我能用这个来弥补坏掉的设置吗?

我差点就开始工作了:

第一个符号链接从python3.7站点到3.8的conda二进制文件

代码语言:javascript
运行
复制
-bash-4.1$ ln -s /usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.7/site-packages/cond* /usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.8/site-packages/

当您尝试还原python3.7时,它不起作用:

代码语言:javascript
运行
复制
-bash-4.1$ conda install python=3.7
Traceback (most recent call last):
  File "/usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.8/site-packages/conda/common/serialize.py", line 19, in get_yaml
    import ruamel_yaml as yaml
ModuleNotFoundError: No module named 'ruamel_yaml'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.8/site-packages/conda/common/serialize.py", line 22, in get_yaml
    import ruamel.yaml as yaml
ModuleNotFoundError: No module named 'ruamel'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.8/site-packages/conda/exceptions.py", line 1003, in __call__
    return func(*args, **kwargs)
  File "/usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.8/site-packages/conda/cli/main.py", line 74, in _main
    from ..base.context import context
  File "/usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.8/site-packages/conda/base/context.py", line 28, in <module>
    from ..common.configuration import (Configuration, ConfigurationLoadError, MapParameter,
  File "/usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.8/site-packages/conda/common/configuration.py", line 40, in <module>
    from .serialize import yaml_load
  File "/usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.8/site-packages/conda/common/serialize.py", line 30, in <module>
    yaml = get_yaml()
  File "/usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.8/site-packages/conda/_vendor/auxlib/decorators.py", line 59, in _memoized_func
    result = func(*args, **kwargs)
  File "/usr/local/devel/ANNOTATION/jespinoz/anaconda3/lib/python3.8/site-packages/conda/common/serialize.py", line 24, in get_yaml
    raise ImportError("No yaml library available.\n"
ImportError: No yaml library available.
To proceed, conda install ruamel_yaml

当然,您不能真正做conda install ruamel_yaml,因为这太简单了。而是使用pip

代码语言:javascript
运行
复制
-bash-4.1$ pip install ruamel_yaml
Collecting ruamel_yaml
  Downloading https://files.pythonhosted.org/packages/fa/90/ecff85a2e9c497e2fa7142496e10233556b5137db5bd46f3f3b006935ca8/ruamel.yaml-0.16.5-py2.py3-none-any.whl (123kB)
     |████████████████████████████████| 133kB 8.8MB/s
ERROR: conda 4.6.11 requires pycosat>=0.6.3, which is not installed.
ERROR: conda 4.6.11 requires requests>=2.12.4, which is not installed.
ERROR: conda-build 3.17.8 requires beautifulsoup4, which is not installed.
ERROR: conda-build 3.17.8 requires chardet, which is not installed.
ERROR: conda-build 3.17.8 requires filelock, which is not installed.
ERROR: conda-build 3.17.8 requires libarchive-c, which is not installed.
ERROR: conda-build 3.17.8 requires lief, which is not installed.
ERROR: conda-build 3.17.8 requires pkginfo, which is not installed.
ERROR: conda-build 3.17.8 requires psutil, which is not installed.
ERROR: conda-build 3.17.8 requires pyyaml, which is not installed.
ERROR: conda-build 3.17.8 requires requests, which is not installed.
ERROR: conda-build 3.17.8 requires tqdm, which is not installed.
Installing collected packages: ruamel-yaml

然后我尝试了以下几点:

代码语言:javascript
运行
复制
-bash-4.1$ conda install python=3.7 -n base
WARNING: The conda.compat module is deprecated and will be removed in a future release.
Collecting package metadata: done
Solving environment: - WARNING conda.common.logic:get_sat_solver_cls(278): Could not run SAT solver through interface 'pycosat'.
failed

CondaDependencyError: Cannot run solver. No functioning SAT implementations available.
EN

回答 1

Stack Overflow用户

发布于 2019-12-09 23:22:35

我修好了。我试着下载最新的安装,然后运行-u进行升级(这花费了很长时间),但没有成功。

我最后所做的是使用我的同事安装conda:

代码语言:javascript
运行
复制
source /path/to/their/conda/activate /path/to/my/anaconda3

然后我设置了我的~/.condarc,这样它就知道我的pkgs和环境应该放在哪里了(我们的主目录中有一个有限的空间,所以如果我不这样做,它就会崩溃)

代码语言:javascript
运行
复制
(/usr/local/devel/ANNOTATION/jespinoz/anaconda3) -bash-4.1$ cat ~/.condarc
channels:
  - bioconda
  - conda-forge
  - defaults
  - etetoolkit
  - r
channel_priority: true
report_errors: true

envs_dirs:
  - /usr/local/devel/ANNOTATION/jespinoz/anaconda3/envs/

pkgs_dirs:
  - /usr/local/devel/ANNOTATION/jespinoz/anaconda3/pkgs/

在那之后,我做了以下工作:

代码语言:javascript
运行
复制
conda install python=3.7 -y

不过,我收到了以下错误/警告:

代码语言:javascript
运行
复制
Executing transaction: / Traceback (most recent call last):
  File "/usr/local/devel/ANNOTATION/jespinoz/anaconda3/bin/jupyter-nbextension", line 7, in <module>
    from notebook.nbextensions import main
ModuleNotFoundError: No module named 'notebook'

WARNING conda.core.link:run_script(1098): pre-unlink script failed for package conda-forge::widgetsnbextension-3.5.1-py38_0
consider notifying the package maintainer
| Enabling notebook extension jupyter-js-widgets/extension...
      - Validating: OK

最后还是起作用了。

现在,由于所有的包冲突,我正在运行conda update --all。希望它不会再次破坏我的环境。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59256502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档