没有使用Spyder的名为“ dolfin”的模块

时间:2018-07-22 16:09:42

标签: anaconda ipython spyder fenics

在我的一生中,我无法dolfinSpyder一起运行。那是我最初的想法。我设法使其以某种方式运行,但不是以一种方便的方式运行。情况如下:

错误

conda activate fenicsspyderfrom dolfin import * No module named 'dolfin'

有效的方法

  • conda activate fenicspythonfrom dolfin import *:首先工作。
  • conda activate fenicsipythonfrom dolfin import *:经过一些调整后可以正常工作。
  • conda activate fenicsspyderfrom dolfin import *:经过一些调整后可以正常工作。

我到目前为止所做的事情

我使用建议的从conda下载的文件安装了anaconda

运行conda create -n fenics -c conda-forge fenicsconda install fenicsconda activate fenics以安装和激活fenics环境。

然后开始python并执行from dolfin import *即可。 :)

ipython中运行相同的命令不起作用。使用conda list我发现了

    ...
    hdf5
    hypre
    icu
    isl
    jedi
    ...

列表中没有ipython,并且which的{​​{1}}和python产生了

ipthon

因此 /home/hannes/anaconda3/envs/fenics/bin/python /home/hannes/anaconda3/bin/python conda install ipythonipython也可以工作! from dolfin import *

运行:)spyder会引发与from dolfin import *之前相同的错误:ipython。也许No module named 'dolfin'在fenics的环境中也不可用? spyder ...不,不在那里。现在开始有趣的部分... conda list:(conda install spyder产生

which spyder

但是,运行 /home/hannes/anaconda3/envs/fenics/bin/spyder 会引发错误

spyder

这似乎是一些opengl问题。 github issue 6968 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) 的解决方案对conda install pyopengl没有帮助;仍然相同的:(错误。因此,libGLconda uninstall spyder至少给了我间谍。

到目前为止我最好的线索

我尝试通过添加将模块添加到PYTHONPATH

spyder

export PYTHONPATH="$PYTHONPATH:/home/hannes/anaconda3/envs/fenics/lib/python3.6/site-packages/" 并运行不在fenics环境内的Spyder。没有成功,尽管我不确定是否正确执行了此步骤。为什么.bashrcconda activate fenicsspyder吐出来:

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

由于这只是暂时的解决方法(每次启动Spyder时都必须添加它),因此我对永久性修复感兴趣。

我将不胜感激:)。

Hannes

1 个答案:

答案 0 :(得分:2)

(此处为 Spyder维护者)由于Spyder 3.3.1 (将在几天后发布),解决方案如下:

  1. 激活您的环境

  2. 使用以下命令在此处安装spyder-kernels软件包:

    conda install spyder-kernels=0.*

  3. 也在此运行(在系统终端中)

    python -c "import sys; print(sys.executable)"

    并复制该命令返回的路径。

  4. 停用您的环境,然后从根目录或基础目录启动Spyder。

  5. 转到

    Tools > Preferences > Python Interpreter > Use the following interpreter

    并在其中粘贴您在第3步中获得的路径。

  6. 启动新的IPython控制台并运行

    from dolfin import *

    现在应该可以使用。