cs50/submit50

readline doesn't exist on windows

Closed this issue · 7 comments

> submit50 cs50/2018/x/hello
Traceback (most recent call last):
  File "C:\Users\Kareem\AppData\Local\Programs\Python\Python37-32\Scripts\submit50-script.py", line 11, in <module>
    load_entry_point('submit50==2.4.8', 'console_scripts', 'submit50')()
  File "c:\users\kareem\appdata\local\programs\python\python37-32\lib\site-packages\pkg_resources\__init__.py", line 480, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "c:\users\kareem\appdata\local\programs\python\python37-32\lib\site-packages\pkg_resources\__init__.py", line 2693, in load_entry_point
    return ep.load()
  File "c:\users\kareem\appdata\local\programs\python\python37-32\lib\site-packages\pkg_resources\__init__.py", line 2324, in load
    return self.resolve()
  File "c:\users\kareem\appdata\local\programs\python\python37-32\lib\site-packages\pkg_resources\__init__.py", line 2330, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "c:\users\kareem\appdata\local\programs\python\python37-32\lib\site-packages\submit50.py", line 15, in <module>
    import readline
ModuleNotFoundError: No module named 'readline'

A workaround would be installing pyreadline and importing it as readline if importing readline fails. Not sure yet if there's a way to list pyreadline as a dependency to be installed just on Windows.

Agree we should change this. Same problem exists for check50 btw.

I got the same error on Windows 10 : ModuleNotFoundError: No module named 'readline'
C:\2018\cs50submit\project0>submit50 cs50/mobile/2018/x/projects/0
Traceback (most recent call last):
File "C:\Users\taisl\AppData\Local\Programs\Python\Python37\Scripts\submit50-script.py", line 11, in
load_entry_point('submit50==2.4.9', 'console_scripts', 'submit50')()
File "c:\users\taisl\appdata\local\programs\python\python37\lib\site-packages\pkg_resources_init_.py", line 480, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "c:\users\taisl\appdata\local\programs\python\python37\lib\site-packages\pkg_resources_init_.py", line 2693, in load_entry_point
return ep.load()
File "c:\users\taisl\appdata\local\programs\python\python37\lib\site-packages\pkg_resources_init_.py", line 2324, in load
return self.resolve()
File "c:\users\taisl\appdata\local\programs\python\python37\lib\site-packages\pkg_resources_init_.py", line 2330, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "c:\users\taisl\appdata\local\programs\python\python37\lib\site-packages\submit50.py", line 15, in
import readline
ModuleNotFoundError: No module named 'readline'

Greetings All, This issue seems like it it is still present. Does anyone know of a workaround? Not sure if I understood the pyreadline mentioned above. Is this the workaround? Thanks.

I use CS50 IDE (instead) to upload my files, and then run submit50. CS50 IDE is a Linux environment.

CS50's command line tools only support Windows if used in Windows 10's Linux Subsystem. Even with pyreadline, there are other parts of the tool that would not work if used on Windows directly.

there are other parts of the tool that would not work if used on Windows directly.

the msys2 provides most of the linux tools in windows

submit50 problem