Open pem120 opened 2 years ago
Same error here. Any clues?
rshell -h
Traceback (most recent call last):
File "C:\portable\Python\Python310\Scripts\rshell-script.py", line 33, in
no.
Traceback (most recent call last):
File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts\rshell-script.py", line 33, in
Traceback (most recent call last):
File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts\rshell-script.py", line 33, in
no
I think that this is a problem with Windows a readline.
Does this workaround work: https://github.com/dhylands/rshell/pull/38#issuecomment-397832096
Possibly look a using an updated fork of pyreadline: git+https://github.com/osrf/pyreadline As done here: https://github.com/ros2/ci/pull/519 Otherwise switch to https://github.com/pyreadline3/pyreadline3
Possibly look a using an updated fork of pyreadline: git+https://github.com/osrf/pyreadline As done here: ros2/ci#519 Otherwise switch to https://github.com/pyreadline3/pyreadline3
Installing pyreadline3 resolve the issue. Thank you.
I've discovered the solution. "Callables" in python 3.10 or above has been moved from "collections.Callables" to "collections.abc.Callables"
The following code in the designated file "site-packages/pyreadline/py3k_compat.py" solved the issue for me, although newer versions of pyreadline3 may have already fixed this issue:
return isinstance(x, collections.Callable)
Change to:
if (sys.version_info[1] >= 10): return isinstance(x, collections.abc.Callable) else: return isinstance(x, collections.Callable)
When I install pip install pyreadline3
, I get this error:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts\rshell.exe\__main__.py", line 4, in <module>
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\rshell\command_line.py", line 1, in <module>
import rshell.main
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\rshell\main.py", line 80, in <module>
import readline
ModuleNotFoundError: No module named 'readline'
When I install pip install pyreadline
, I get this error:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts\rshell.exe\__main__.py", line 4, in <module>
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\rshell\command_line.py", line 1, in <module>
import rshell.main
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\rshell\main.py", line 80, in <module>
import readline
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\readline.py", line 34, in <module>
rl = Readline()
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyreadline\rlmain.py", line 422, in __init__
BaseReadline.__init__(self)
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyreadline\rlmain.py", line 62, in __init__
mode.init_editing_mode(None)
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyreadline\modes\emacs.py", line 633, in init_editing_mode
self._bind_key('space', self.self_insert)
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyreadline\modes\basemode.py", line 162, in _bind_key
if not callable(func):
File "C:\Users\alice\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyreadline\py3k_compat.py", line 8, in callable
return isinstance(x, collections.Callable)
AttributeError: module 'collections' has no attribute 'Callable'
Currently there is no way to run this with the pyreadline3 workaround.
Traceback (most recent call last): File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts\rshell-script.py", line 33, in
sys.exit(load_entry_point('rshell==0.0.29', 'console_scripts', 'rshell')())
File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts\rshell-script.py", line 25, in importlib_load_entry_point
return next(matches).load()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.752.0_x64qbz5n2kfra8p0\lib\importlib\metadata__init__.py", line 162, in load
module = import_module(match.group('module'))
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.752.0_x64qbz5n2kfra8p0\lib\importlib__init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\rshell\command_line.py", line 1, in
import rshell.main
File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\rshell\main.py", line 80, in
import readline
File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\readline.py", line 34, in
rl = Readline()
File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyreadline\rlmain.py", line 422, in init
BaseReadline.init__(self)
File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyreadline\rlmain.py", line 62, in init
mode.init_editing_mode(None)
File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyreadline\modes\emacs.py", line 633, in init_editing_mode
self._bind_key('space', self.self_insert)
File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyreadline\modes\basemode.py", line 162, in _bind_key
if not callable(func):
File "C:\Users\IshantKuchibhatla\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyreadline\py3k_compat.py", line 8, in callable
return isinstance(x, collections.Callable)
AttributeError: module 'collections' has no attribute 'Callable'