Pycharm — консоль Python

#python #console #pycharm

#python #консоль #pycharm

Вопрос:

Я тестирую свой код на python в окне консоли.

Он не позволяет мне вводить какой-либо код и вместо этого передает это сообщение об ошибке:

 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Applications/PyCharm.app/Contents/helpers/pydev/pydevconsole.py 55724 55725
PyDev console: starting.

Traceback (most recent call last):
  File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevconsole.py", line 512, in <module>
    pydevconsole.start_server(pydev_localhost.get_localhost(), int(port), int(client_port))
  File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevconsole.py", line 353, in start_server
    process_exec_queue(interpreter)
  File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevconsole.py", line 181, in process_exec_queue
    from _pydev_bundle.pydev_import_hook import import_hook_manager
  File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 29, in <module>
    import_hook_manager = ImportHookManager(__name__   '.import_hook', builtins.__import__)
NameError: name 'ImportHookManager' is not defined

Process finished with exit code 1
 

Я понимаю, что это должно быть ошибкой в моих настройках, но я не уверен, как ее исправить

Комментарии:

1. Это звучит странно. вы уверены, что у вас была чистая установка?

Ответ №1:

Вот как ваш pydev_import_hook.py должен выглядеть:

 import sys
from _pydevd_bundle.pydevd_constants import dict_contains
from types import ModuleType


class ImportHookManager(ModuleType):
    def __init__(self, name, system_import):
        ModuleType.__init__(self, name)
        self._system_import = system_import
        self._modules_to_patch = {}

    def add_module_name(self, module_name, activate_function):
        self._modules_to_patch[module_name] = activate_function

    def do_import(self, name, *args, **kwargs):
        activate_func = None
        if dict_contains(self._modules_to_patch, name):
            activate_func = self._modules_to_patch.pop(name)

        module = self._system_import(name, *args, **kwargs)
        try:
            if activate_func:
                activate_func() #call activate function
        except:
            sys.stderr.write("Matplotlib support failedn")
        return module

try:
    import __builtin__ as builtins
except ImportError:
    import builtins

import_hook_manager = ImportHookManager(__name__   '.import_hook', builtins.__import__)
builtins.__import__ = import_hook_manager.do_import
sys.modules[import_hook_manager.__name__] = import_hook_manager
del builtins
 

Комментарии:

1. Итак, вы предлагаете мне переустановить?