Anaconda3 (conda 版本 4.7) 安装 Fenics 出现的错误

16 篇文章 0 订阅
问题描述

很早之前用 Anaconda3 (conda 版本 4.6.8) 安装过一次 Fenics (conda create -n fenicsproject -c conda-forge fenics),安装后可以成功运行算例。

这几天重新安装的 Anaconda3 (conda 版本 4.7.10) 然后重新安装 Fenics (conda create -n fenicsproject -c conda-forge fenics),安装后运行到 from fenics import * 总是提示错误:

(fenicsproject) MacBookPro:~ xxx$ python
Python 3.7.3 | packaged by conda-forge | (default, Jul  1 2019, 14:38:56) 
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>> from fenics import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Applications/anaconda3/envs/fenicsproject/lib/python3.7/site-packages/fenics/__init__.py", line 7, in <module>
    from dolfin import *
  File "/Applications/anaconda3/envs/fenicsproject/lib/python3.7/site-packages/dolfin/__init__.py", line 34, in <module>
    from .cpp import __version__
ImportError: dlopen(/Applications/anaconda3/envs/fenicsproject/lib/python3.7/site-packages/dolfin/cpp.cpython-37m-darwin.so, 2): Library not loaded: @rpath/libdmumps-5.1.2.dylib
  Referenced from: /Applications/anaconda3/envs/fenicsproject/lib/libpetsc.3.11.dylib
  Reason: image not found

然后卸载 Anaconda3,重装,仍然是这个错误,后来在 Fenics 论坛提问 Errors in calling `from fenics import *`,有人给出了解答

Try this:

conda create -n fenics2018 -c conda-forge fenics=2018

This worked for me (macOS Mojave 10.14.6), what did not work was fenics=2019. You can also try fenics=2017 but then I would suggest using

conda create -n fenics2017 -c conda-forge fenics=2017 scipy matplotlib=2.2.3 python=3.5 mpi4py sympy=1.1.1

Actually, I use:

conda create -n fenics2018 -c conda-forge fenics=2018 matplotlib scipy python=3.7 sympy spyder jupyter

and if you also want spyder and jupyter, then I had to reset spyder (the first time I opened spyder it crashed and said that I have to reset it. Then it worked). For jupyter I also had to install nb_conda:

conda install nb_conda

Hope this works for you.

edit: I also tried to launch Anaconda, changed the environment there and selected Spyder, this did not work for me. Uninstalled everything and installed miniconda

后面采取了 conda create -n fenics2018 -c conda-forge fenics=2018 matplotlib scipy python=3.7 sympy 这种重新建立了 fenics2018 的 virtual environment,安装完 fenics2018 后,调用 fenics2018 的 Python 解释器跑算例,可以运行了,但是总是 furture warning

因为有 furture warning,所以最终还是想去掉这个 warning, 而从最开始提示的错误中可以看出可能与 mumps 有关,在 Anaconda 中的两个 virtual environment 中搜索 mumps 发现:
fenics2018 中有 mumps-mpimumps-include
fenicsproject 中只有 mumps-mpi

所以尝试在 fenicsproject 中安装 mumps-include(参考 https://anaconda.org/conda-forge/mumps-include): To install this package with conda run one of the following:

conda install -c conda-forge mumps-include
conda install -c conda-forge/label/gcc7 mumps-include
conda install -c conda-forge/label/cf201901 mumps-include

然后确实在 fenicsproject 安装上了 mumps-include,但是仍然不能运行算例,提示同样的错误。

解决方法

我在最开始提到了两次安装的 Anacondaconda 的版本是不同的,其实在最新的 conda (4.7.10) 版本下安装 Fenics (conda create -n fenicsproject -c conda-forge fenics) 有个 warning:
Solving environment: failed with current_repodata.json, will retry with next repodata source.
后来参考 Solving environment: failed with current_repodata.json, will retry with next repodata source. 中将 conda 从 4.7 降级到 4.6 版本

conda config --set allow_conda_downgrades true
conda install conda=4.6.14

然后删掉了 Anaconda 中的 fenicsproject virtual environment 重新安装,conda create -n fenicsproject -c conda-forge fenics

最后可以用 fenicsproject 成功运行 Fenics 算例。

总结

可能是 conda 版本的问题,目前有的问题如下:

  1. Solving environment: failed with current_repodata.json, will retry with next repodata source. UnsatisfiableError: #9004
  2. Conda doesn´t work after update conda #8863
安装Anaconda3 并且包含了 conda 工具却无法使用的常见原因有: 1. **环境激活问题**:在Windows中,需要先激活对应的conda环境。如果没有正确激活,即使安装conda,也无法在该环境中使用。通过命令行输入`activate <环境名>`(其中 `<环境名>` 是你的conda环境名称)可以激活。 2. **路径设置不正确**:确保 conda安装路径以及 bin 文件夹已添加到系统路径中。若未添加,需要在命令行输入全路径才能使用 conda。 3. **版本冲突**:有可能你的系统上同时存在多个版本的 Python 和 conda,它们之间可能存在冲突。确保你在正确的 Python 版本环境下使用 conda。 4. **软件包冲突**:有些依赖库的问题可能导致 conda 无法正常使用。尝试更新所有可用的 conda 包或者删除然后重新安装 anaconda。 5. **conda配置错误**:检查 `.condarc` 配置文件是否有误,有时候这个文件会限制某些操作。 6. **终端或命令提示符问题**:确保你是在支持脚本执行的终端或命令提示符(如 PowerShell 而非 cmd)中运行 conda。 为了诊断问题,你可以尝试以下步骤: - 检查当前激活的环境:`conda info --envs` - 检查 conda 是否在路径中:`where conda` - 确认环境变量是否正确:查看 `%CONDA_HOME%\Scripts` 是否在PATH中 如果以上都无误,还是无法使用,建议重启终端或计算机,并在Anaconda Prompt (Windows) 或 Conda Shell (Mac/Linux) 下重新尝试。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值