首页 > 解决方案 > 没有使用 Spyder 的名为“dolfin”的模块

问题描述

对于我的一生,我不能dolfinSpyder. 我一开始就是这么想的。我设法让它以某种方式运行,但不是以一种方便的方式。情况如下:

错误

conda activate fenics, spyder, from dolfin import *: No module named 'dolfin'.

什么有效

到目前为止我所做的

anaconda使用 conda 建议的下载安装。

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

然后开始python和执行from dolfin import *工作。:)

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

    ...
    hdf5
    hypre
    icu
    isl
    jedi
    ...

ipython列表中没有,并且whichwithpythonipthonyield

    /home/hannes/anaconda3/envs/fenics/bin/python
    /home/hannes/anaconda3/bin/python

因此,conda install ipythonipythonfrom 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 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 fenicsipython

    import sys
    sys.path.append('/home/hannes/anaconda3/envs/fenics/lib/python3.6/site-packages')

由于这只是一种临时解决方法(每次启动 Spyder 时我都必须添加它),我对永久修复很感兴趣。

我会很感激任何帮助:)。

汉内斯

标签: anacondaipythonspyderfenics

解决方案


这里是 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 *

    它现在应该可以工作了。


推荐阅读