【问题标题】:No module named 'dolfin' using Spyder没有使用 Spyder 的名为“dolfin”的模块
【发布时间】:2018-12-30 04:55:56
【问题描述】:

我这辈子都做不到dolfinrunning 和Spyder。我一开始就是这么想的。我设法让它以某种方式运行,但不是以一种方便的方式。情况如下:

错误

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
    ...

列表中没有ipythonwhichpythonipthon 产生

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

因此,conda install ipythonipythonfrom dolfin import * 也可以正常工作! :)

运行 spyderfrom dolfin import * 会引发与之前的 ipython 相同的错误:No module named 'dolfin'。也许 spyder 在 fenics 的环境中也不可用? conda 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 6968conda install pyopengl 的解决方案没有帮助:(;仍然是相同的libGL 错误。所以,conda uninstall spyderspyder至少还给了我spyder。

到目前为止我最好的线索

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

    export PYTHONPATH="$PYTHONPATH:/home/hannes/anaconda3/envs/fenics/lib/python3.6/site-packages/"

.bashrc 并运行不在 fenics 环境中的 Spyder。没有成功,虽然我不确定我是否正确地执行了这一步。为什么,conda activate fenicsspydersys.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

由于这不起作用,我在运行 conda activate fenicsipython 后得到了 from dolfin import * 工作

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

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

如果有任何帮助,我将不胜感激 :)。

汉尼斯

【问题讨论】:

    标签: anaconda ipython spyder fenics


    【解决方案1】:

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

      它现在应该可以工作了。

    【讨论】:

    • 感谢您的快速回复。 “几天后”会是什么时候?^^ 有什么方法可以让我跟踪即将到来的更新吗?
    • 它应该在 7 月 26 日或 27 日可用。Spyder 会自动将此类更新通知其用户,除非您过去禁用了该机制。如果您这样做了,您可以通过转到 Tools > Preferences > General > Advanced Settings 并选择名为 Check for updates on startup 的选项来重新激活它。
    • 是的,它终于奏效了:)。非常感谢您的帮助:)。
    猜你喜欢
    • 1970-01-01
    • 2022-08-04
    • 2021-06-23
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多