Ни один модуль с именем 'dolfin' не использует Spyder

Я не могу, ради моей жизни, получить 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 в списке и which с python а также ipthon доходность

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

Таким образом, conda install ipython, ipython а также from dolfin import * работает так же! :)

Бег spyder а также from dolfin import * выдает ту же ошибку, что и с ipython до: No module named 'dolfin', Может быть spyder также недоступен в среде феников? conda list... Нет, не там. Теперь начинается самое интересное... :(, conda install spyder а также which 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 6968, conda install pyopengl, не помогло :(; все тот же libGL ошибки. Следовательно, conda uninstall spyder, spyder по крайней мере вернул мне спайдера.

Моя лучшая подсказка до сих пор

Я попытался добавить модуль в PYTHONPATH, добавив

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

в .bashrc и запуск Spyder, который не находится внутри среды fenics. Безуспешно, хотя я не уверен, правильно ли я сделал этот шаг. Зачем, 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), я заинтересован в постоянном исправлении.

Буду признателен за любую помощь:).

Ханнес

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 *

    Это должно работать сейчас.

Другие вопросы по тегам