spyder3: "ModuleNotFoundError: нет модуля с именем 'simplegeneric'" - PullRequest
0 голосов
/ 06 мая 2018

Я обновил Ubuntu 16.04 до 18.04. Затем я создал новую виртуальную среду для Python и запустил spyder3:

python3 -m venv dev
source dev/bin/activate
spyder3

Тогда я получил ошибку:

...
ModuleNotFoundError: No module named 'simplegeneric'

Так что мне пришлось сделать:

pip install wheel
pip install simplegeneric

Но spyder3 все еще говорит, что не существует модуля с именем 'simplegeneric'. Почему?

Некоторая информация о версиях и установленных модулях:

(dev) /media/shared/Development/python$ python3 -V
Python 3.6.5

(dev) /media/shared/Development/python$ pip -V
pip 9.0.1 from /media/shared/Development/python/dev/lib/python3.6/site-packages (python 3.6)

(dev) /media/shared/Development/python$ which spyder3
/media/shared/Development/python/dev/bin/spyder3

(dev) /media/shared/Development/python$ which pip
/media/shared/Development/python/dev/bin/pip

(dev) /media/shared/Development/python$ pip freeze | grep simplegeneric
simplegeneric==0.8.1

EDIT:

Моя проблема не в том, что я не могу импортировать простой тип в spyder. Моя проблема в том, что я не могу открыть spyder:

(dev) /media/shared/Development/python$ spyder3
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/spyder/app/mainwindow.py", line 3126, in main
    mainwindow = run_spyder(app, options, args)
  File "/usr/lib/python3/dist-packages/spyder/app/mainwindow.py", line 3023, in run_spyder
    main.setup()
  File "/usr/lib/python3/dist-packages/spyder/app/mainwindow.py", line 932, in setup
    from spyder.plugins.ipythonconsole import IPythonConsole
  File "/usr/lib/python3/dist-packages/spyder/plugins/ipythonconsole.py", line 59, in <module>
    from spyder.widgets.ipythonconsole import ClientWidget
  File "/usr/lib/python3/dist-packages/spyder/widgets/ipythonconsole/__init__.py", line 12, in <module>
    from .debugging import DebuggingWidget
  File "/usr/lib/python3/dist-packages/spyder/widgets/ipythonconsole/debugging.py", line 16, in <module>
    from qtconsole.rich_jupyter_widget import RichJupyterWidget
  File "/usr/lib/python3/dist-packages/qtconsole/rich_jupyter_widget.py", line 14, in <module>
    from .jupyter_widget import JupyterWidget
  File "/usr/lib/python3/dist-packages/qtconsole/jupyter_widget.py", line 19, in <module>
    from IPython.lib.lexers import IPythonLexer, IPython3Lexer
  File "/usr/lib/python3/dist-packages/IPython/__init__.py", line 49, in <module>
    from .terminal.embed import embed
  File "/usr/lib/python3/dist-packages/IPython/terminal/embed.py", line 18, in <module>
    from IPython.terminal.interactiveshell import TerminalInteractiveShell
  File "/usr/lib/python3/dist-packages/IPython/terminal/interactiveshell.py", line 30, in <module>
    from .debugger import TerminalPdb, Pdb
  File "/usr/lib/python3/dist-packages/IPython/terminal/debugger.py", line 6, in <module>
    from IPython.core.completer import IPCompleter
  File "/usr/lib/python3/dist-packages/IPython/core/completer.py", line 34, in <module>
    from IPython.utils import generics
  File "/usr/lib/python3/dist-packages/IPython/utils/generics.py", line 8, in <module>
    from simplegeneric import generic
ModuleNotFoundError: No module named 'simplegeneric'

РЕДАКТИРОВАТЬ 2:

Очевидно, что у меня где-то установлен модуль 'simplegeneric', но spyder3 не может его найти. Так что я думаю, что моя проблема связана с sys.path или $ PYTHONPATH . Это мой sys.path в среде разработчика:

(dev) /media/shared/Development/python$ python3 -c "import sys; print('\n'.join(sys.path))"

/usr/lib/python36.zip
/usr/lib/python3.6
/usr/lib/python3.6/lib-dynload
/media/shared/Development/python/dev/lib/python3.6/site-packages

А это мой обычный sys.path :

~$ python3 -c "import sys; print('\n'.join(sys.path))"

/usr/lib/python36.zip
/usr/lib/python3.6
/usr/lib/python3.6/lib-dynload
/usr/local/lib/python3.6/dist-packages
/usr/lib/python3/dist-packages

Не должно ли sys.path моей среды разработки содержать все из обычного sys.path ?

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

ОК, наконец-то я смог решить свою проблему: pip3 был связан с локальной копией, и я думаю, что мой локальный pip3 был испорчен:

~$ which pip3
/usr/local/bin/pip3

Так я и сделал:

~$ sudo mv /usr/local/bin/pip3 pip3_bak
~$ which pip3
/usr/bin/pip3

Затем мне пришлось переустановить python3-simplegeneric:

~$ sudo apt-get install python3-simplegeneric --reinstall

Теперь я могу регулярно запускать Spyder3 3.2.6 или Spyder3 3.2.8 в моей среде (dev).

0 голосов
/ 06 мая 2018

Я попробовал это, но у меня все заработало.

C:\Users\RayanMadrid>pip install simplegeneric
Collecting simplegeneric
  Downloading 
  https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip

 Installing collected packages: simplegeneric
 Running setup.py install for simplegeneric ... done
 Successfully installed simplegeneric-0.8.1

Затем я запустил его на Python:

>>> import simplegeneric
>>>

Итак, ваша проблема связана с вашей машиной.

...