Using exec with embedded python interpreter 3.7

Eko palypse ekopalypse at gmail.com
Fri Aug 30 12:01:47 EDT 2019


Hello,
I'm creating a notepad++ plugin which hosts an embedded python interpreter
by using cffi to build the dll.
So far so good. One obstacle I've found is that I'm not able to use
exec(help(object)) in order to get the wanted info from the object.

The error I get is:

Traceback (most recent call last):
  File "<init code for 'Python3Script'>", line 131, in run_code
  File "<string>", line 1, in <module>
  File "D:\...\Python\Python37_64\Lib\_sitebuiltins.py", line 103, in
__call__
    return pydoc.help(*args, **kwds)
  File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1895, in __call__
    self.help(request)
  File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1954, in help
    else: doc(request, 'Help on %s:', output=self._output)
  File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1674, in doc
    pager(render_doc(thing, title, forceload))
  File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1451, in pager
    pager(text)
  File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1576, in plainpager
    sys.stdout.write(plain(_escape_stdout(text)))
  File "D:\...\Python\Python37_64\Lib\pydoc.py", line 1528, in
_escape_stdout
    return text.encode(encoding, 'backslashreplace').decode(encoding)
TypeError: encode() argument 1 must be str, not method

If I encase the object with quotes then I do get the info that no
documentation
is found for that object.

1. It doesn't feel right to encase the object with quotes. I don't have to
do this using the standard python interpreter shell. What did I miss?

2. If it is needed to use the encased way, why don't it show the help info?
The object class contains the module, class and functions doc strings, what
did I miss here?

Thank you
Eren



More information about the Python-list mailing list