我喜欢拥有极小的base
conda环境。我意外地在这个环境中安装了一堆包,所以我尝试删除它们:
我按照conda: remove all installed packages from base/root environment的建议运行了以下命令:conda install --revision 0 -n base
但是,当我运行以下脚本重新安装要点时:
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
。
-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'
有几篇文章指出,这与我的PYTHONPATH
和PYTHONHOME
环境变量有关,但我没有这些设置:
-bash-4.1$ echo $PYTHONHOME
-bash-4.1$ echo $PYTHONPATH
我认为这是因为我的默认python
版本现在是3.8
,它没有安装conda
。但是,3.7
确实安装了conda。
-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二进制文件
-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时,它不起作用:
-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
-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
然后我尝试了以下几点:
-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.
发布于 2019-12-09 23:22:35
我修好了。我试着下载最新的安装,然后运行-u
进行升级(这花费了很长时间),但没有成功。
我最后所做的是使用我的同事安装conda:
source /path/to/their/conda/activate /path/to/my/anaconda3
然后我设置了我的~/.condarc
,这样它就知道我的pkgs和环境应该放在哪里了(我们的主目录中有一个有限的空间,所以如果我不这样做,它就会崩溃)
(/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/
在那之后,我做了以下工作:
conda install python=3.7 -y
不过,我收到了以下错误/警告:
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
。希望它不会再次破坏我的环境。
https://stackoverflow.com/questions/59256502
复制相似问题