SyntaxError относительно асинхронности при попытке запустить Jupyter в Python 3.7 - proUbuntu
1 голос
/

При попытке запустить Jupyter на Python 3.7 я наблюдаю следующее:

$ jupyter notebook
Traceback (most recent call last):
  File "/usr/local/bin/jupyter-notebook", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.7/dist-packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-7>", line 2, in initialize
  File "/usr/local/lib/python3.7/dist-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/notebook/notebookapp.py", line 1629, in initialize
    self.init_webapp()
  File "/usr/local/lib/python3.7/dist-packages/notebook/notebookapp.py", line 1379, in init_webapp
    self.jinja_environment_options,
  File "/usr/local/lib/python3.7/dist-packages/notebook/notebookapp.py", line 158, in __init__
    default_url, settings_overrides, jinja_env_options)
  File "/usr/local/lib/python3.7/dist-packages/notebook/notebookapp.py", line 270, in init_settings
    nbextensions_path=jupyter_app.nbextensions_path,
  File "/usr/local/lib/python3.7/dist-packages/notebook/notebookapp.py", line 1066, in nbextensions_path
    from IPython.paths import get_ipython_dir
  File "/usr/local/lib/python3.7/dist-packages/IPython/__init__.py", line 54, in <module>
    from .core.application import Application
  File "/usr/local/lib/python3.7/dist-packages/IPython/core/application.py", line 25, in <module>
    from IPython.core import release, crashhandler
  File "/usr/local/lib/python3.7/dist-packages/IPython/core/crashhandler.py", line 27, in <module>
    from IPython.core import ultratb
  File "/usr/local/lib/python3.7/dist-packages/IPython/core/ultratb.py", line 119, in <module>
    from IPython.utils import path as util_path
  File "/usr/local/lib/python3.7/dist-packages/IPython/utils/path.py", line 17, in <module>
    from IPython.utils.process import system
  File "/usr/local/lib/python3.7/dist-packages/IPython/utils/process.py", line 19, in <module>
    from ._process_posix import system, getoutput, arg_split, check_pid
  File "/usr/local/lib/python3.7/dist-packages/IPython/utils/_process_posix.py", line 23, in <module>
    import pexpect
  File "/usr/lib/python3/dist-packages/pexpect/__init__.py", line 75, in <module>
    from .pty_spawn import spawn, spawnu
  File "/usr/lib/python3/dist-packages/pexpect/pty_spawn.py", line 15, in <module>
    from .spawnbase import SpawnBase
  File "/usr/lib/python3/dist-packages/pexpect/spawnbase.py", line 218
    def expect(self, pattern, timeout=-1, searchwindowsize=-1, async=False):
                                                                   ^
SyntaxError: invalid syntax

Я установил python3.7-distutils (который, кажется, поддерживает pexpect), и я переустановил Jupyter, используя pip3, но я все еще вижу эту ошибку. Я также удалил и переустановил следующие пакеты:

python3.7 python3.7-dev python3.7-distutils python3.7-tk

Что должно быть сделано?

Я вижу ссылку на это исправление , но, предполагая, что это исправление, не знаю, как его запустить и запустить в 16.04 LTS.


РЕДАКТИРОВАТЬ: при импорте pexpect в Python 3.7, я получаю такие же вещи:

>>> import pexpect
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/pexpect/__init__.py", line 75, in <module>
    from .pty_spawn import spawn, spawnu
  File "/usr/lib/python3/dist-packages/pexpect/pty_spawn.py", line 15, in <module>
    from .spawnbase import SpawnBase
  File "/usr/lib/python3/dist-packages/pexpect/spawnbase.py", line 218
    def expect(self, pattern, timeout=-1, searchwindowsize=-1, async=False):
                                                                   ^
SyntaxError: invalid syntax

Ответы [ 3 ]

1 голос
/

Загрузить исходный код pexpect4.6 из https://github.com/pexpect/pexpect/releases/tag/4.6

Извлеките исходный код, перейдите в папку и установите pexpect:

sudo python3.7 setup.py install

Это должно решить вашу проблему. :)

0 голосов
/

Для меня это противоречило apt-get, установленному python3, поэтому мне пришлось сначала удалить его / их:

sudo apt-get remove python-pexpect python3-pexpect

А потом

sudo pip3.7 install --upgrade pexpect

0 голосов
/

Я получаю ту же ошибку. Я пытался:

python3.7 -c 'import pexpect'

И я получил:

Traceback (most recent call last):   File "<string>", line 1, in <module>   File "/usr/lib/python3/dist-packages/pexpect/__init__.py", line 75, in <module>
    from .pty_spawn import spawn, spawnu   File "/usr/lib/python3/dist-packages/pexpect/pty_spawn.py", line 14, in <module>
    from .spawnbase import SpawnBase   File "/usr/lib/python3/dist-packages/pexpect/spawnbase.py", line 224
    def expect(self, pattern, timeout=-1, searchwindowsize=-1, async=False):
                                                                   ^ SyntaxError: invalid syntax Error in sys.excepthook: Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes   File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report   File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
    import apport.fileutils   File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
    from apport.packaging_impl import impl as packaging   File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 24, in <module>
    import apt   File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
    import apt_pkg ModuleNotFoundError: No module named 'apt_pkg'

Original exception was: Traceback (most recent call last):   File "<string>", line 1, in <module>   File "/usr/lib/python3/dist-packages/pexpect/__init__.py", line 75, in <module>
    from .pty_spawn import spawn, spawnu   File "/usr/lib/python3/dist-packages/pexpect/pty_spawn.py", line 14, in <module>
    from .spawnbase import SpawnBase   File "/usr/lib/python3/dist-packages/pexpect/spawnbase.py", line 224
    def expect(self, pattern, timeout=-1, searchwindowsize=-1, async=False):
                                                                   ^ 
SyntaxError: invalid syntax

После этого я попробовал:

pip3 install pexpect

Теперь jupyter работает просто отлично.

...