对于我的一生,我不能dolfin与Spyder. 我一开始就是这么想的。我设法让它以某种方式运行,但不是以一种方便的方式。情况如下:
错误
conda activate fenics, spyder, from dolfin import *: No module named 'dolfin'.
什么有效
conda activate fenics,python,from dolfin import *: 首先工作。conda activate fenics,ipython,from dolfin import *: 经过一些调整后工作。conda activate fenics,spyder,from dolfin import *: 经过一些调整后工作。
到目前为止我所做的
我anaconda使用 conda 建议的下载安装。
运行conda create -n fenics -c conda-forge fenics,conda install fenics并conda activate fenics安装和激活 fenics 环境。
然后开始python和执行from dolfin import *工作。:)
运行相同的命令ipython不起作用。使用conda list我发现
...
hdf5
hypre
icu
isl
jedi
...
ipython列表中没有,并且whichwithpython和ipthonyield
/home/hannes/anaconda3/envs/fenics/bin/python
/home/hannes/anaconda3/bin/python
因此,conda install ipython和ipython也from dolfin import *有效!:)
运行spyder并抛出与以前from dolfin import *相同的错误: . 也许在 fenics 的环境中也不可用?...不,不在那里。现在开始有趣的部分...... 和产量ipythonNo module named 'dolfin'spyderconda list:(conda install spyderwhich spyder
/home/hannes/anaconda3/envs/fenics/bin/spyder
但是,运行spyder会引发错误
libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Segmentation fault (core dumped)
这似乎是一些opengl问题。来自github issue 6968的解决方案conda install pyopengl没有帮助:(;仍然是同样的libGL错误。所以,conda uninstall spyder至少spyder还给了我spyder。
到目前为止我最好的线索
我尝试通过添加将模块添加到 PYTHONPATH
export PYTHONPATH="$PYTHONPATH:/home/hannes/anaconda3/envs/fenics/lib/python3.6/site-packages/"
并.bashrc运行不在 fenics 环境中的 Spyder。没有成功,虽然我不确定我是否正确地执行了这一步。为什么,,conda activate fenics并spyder吐出sys.path:
/home/hannes/anaconda3/lib/python3.6/site-packages/spyder
/home/hannes/anaconda3/lib/python36.zip
/home/hannes/anaconda3/lib/python3.6
/home/hannes/anaconda3/lib/python3.6/lib-dynload
/home/hannes/.local/lib/python3.6/site-packages
/home/hannes/anaconda3/lib/python3.6/site-packages
/home/hannes/anaconda3/lib/python3.6/site-packages/IPython/extensions
/home/hannes/.ipython
由于那不起作用,我from dolfin import *在跑步后开始工作conda activate fenics,ipython
import sys
sys.path.append('/home/hannes/anaconda3/envs/fenics/lib/python3.6/site-packages')
由于这只是一种临时解决方法(每次启动 Spyder 时我都必须添加它),我对永久修复很感兴趣。
我会很感激任何帮助:)。
汉内斯