cs50/submit50

Submit50 can't use in Windows 10

Closed this issue · 22 comments

C:\Users\Ali Gh AbuSaleh>pip3 install submit50
Collecting submit50
Using cached https://files.pythonhosted.org/packages/19/b6/9c15dc4f280dac57e94df2ae7c505d1b6759614bb9dd3db30eefcc7ad6f0/submit50-3.0.2.tar.gz
ERROR: Command errored out with exit status 1:
command: 'c:\users\ali gh abusaleh\appdata\local\programs\python\python37\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\ALIGHA1\AppData\Local\Temp\pip-install-4x6z9um1\submit50\setup.py'"'"'; file='"'"'C:\Users\ALIGHA1\AppData\Local\Temp\pip-install-4x6z9um1\submit50\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
cwd: C:\Users\ALIGHA1\AppData\Local\Temp\pip-install-4x6z9um1\submit50
Complete output (5 lines):
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\ALIGHA
1\AppData\Local\Temp\pip-install-4x6z9um1\submit50\setup.py", line 2, in
raise RuntimeError("submit50 does not support Windows directly. Instead, you should install the Windows Subsystem for Linux (https://docs.microsoft.com/en-us/windows/wsl/install-win10) and then install submit50 within that.")
RuntimeError: submit50 does not support Windows directly. Instead, you should install the Windows Subsystem for Linux (https://docs.microsoft.com/en-us/windows/wsl/install-win10) and then install submit50 within that.
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

I have the same error

I have the same error as well. I kindly ask you to provide some solutions or give a piece of advice regarding this matter.
Gonna be waiting for the updates from the support.

I also have the same error

I also have the same error. Was there any solution posted?

I have the same error!!!

submit50 does not run on Windows.
You can use Linux within a virtual machine or container, or simply run the Windows subsystem for Linux:
https://docs.microsoft.com/en-us/windows/wsl/install-win10
This would probably be the most convenient option.

same issue with me

same here, as some one suggested above I will try with a VM

You have to install Linux to install submit50

subsystem for windows.
https://docs.microsoft.com/en-us/windows/wsl/install-win10

Here's what I did to finally get something working:

  1. Install Windows Subsystem for Linux (thanks @adon160 and @raksingh)
  2. Install the Ubuntu distribution (its free). Open "Microsoft Store" and search for "Ubuntu" then Get, then Install.
  3. Run Ubuntu. It should ultimately open a terminal. First time will take a while. You'll have to come up with a username and password for this linux environment which will be a different account than your Windows.
  4. Update (updates Ubuntu itself I think?)
    sudo apt update
  5. Get python3-pip (takes a really long time)
    sudo apt install python3-pip
  6. Install submit50
    pip3 install submit50
  7. Close the Ubunto window and reopen (important - if you don't do this, then running 'submit50' will say "Command not found").

Now you can run submit50 in the Ubuntu window - note it will be installed in this Ubuntu Linux environment only and therefore cannot be run outside of it (i.e. it cannot be run in a Windows command prompt).

In order to submit your assignment, you have to be in the directory where your assignment is located. My assignment was saved in C:\Development\CS50\assignment0. To change to this directory in the Ubuntu prompt (note, Linux is case sensitive):
cd /mnt/c/Development/CS50/assignment0

You also need the branch name the assignment requires you to submit to. Mine was: "games50/assignments/2020/x/0".

To submit:
submit50 games50/assignments/2020/x/0

@mdnielsen68 and others
Thank you for sharing your experience
I'm presently Installing Ubuntu on window 10. Hope to give my feedback after Installation.

submit50 does not currently support Windows outside the Windows Subsystem for Linux (Windows 10 only) which @mdnielsen68 kindly posted instructions on how to install.

La única solución para Windows es instalando un subsistema de ventana de linux.
https://docs.microsoft.com/en-us/windows/wsl/install-win10

@mdnielsen68 publico la solución ahí arriba :D 👆👆

I believe all above must be a real CS50 task as it took me several hours to get to install submit50 on Windows. :))
It looks like an easy task however with messages "you can't do that unless you have this" it took really long.
Great experience though. :))

Here's what I did to finally get something working:

  1. Install Windows Subsystem for Linux (thanks @adon160 and @raksingh)
  2. Install the Ubuntu distribution (its free). Open "Microsoft Store" and search for "Ubuntu" then Get, then Install.
  3. Run Ubuntu. It should ultimately open a terminal. First time will take a while. You'll have to come up with a username and password for this linux environment which will be a different account than your Windows.
  4. Update (updates Ubuntu itself I think?)
    sudo apt update
  5. Get python3-pip (takes a really long time)
    sudo apt install python3-pip
  6. Install submit50
    pip3 install submit50
  7. Close the Ubunto window and reopen (important - if you don't do this, then running 'submit50' will say "Command not found").

Now you can run submit50 in the Ubuntu window - note it will be installed in this Ubuntu Linux environment only and therefore cannot be run outside of it (i.e. it cannot be run in a Windows command prompt).

In order to submit your assignment, you have to be in the directory where your assignment is located. My assignment was saved in C:\Development\CS50\assignment0. To change to this directory in the Ubuntu prompt (note, Linux is case sensitive):
cd /mnt/c/Development/CS50/assignment0

You also need the branch name the assignment requires you to submit to. Mine was: "games50/assignments/2020/x/0".

To submit:
submit50 games50/assignments/2020/x/0

Thank you So much 🥇

Instead of using subsystem Linux or Virtual machine. Try submitting via CS50 IDE: https://ide.cs50.io/ .Use this, it is a link to ubuntu VM hosted by cs50. Use this guide of upload via SSH : https://cs50.readthedocs.io/submit50/
:>

Thank you mdnielsen68 ! It works

Here's what I did to finally get something working:

  1. Install Windows Subsystem for Linux (thanks @adon160 and @raksingh)
  2. Install the Ubuntu distribution (its free). Open "Microsoft Store" and search for "Ubuntu" then Get, then Install.
  3. Run Ubuntu. It should ultimately open a terminal. First time will take a while. You'll have to come up with a username and password for this linux environment which will be a different account than your Windows.
  4. Update (updates Ubuntu itself I think?)
    sudo apt update
  5. Get python3-pip (takes a really long time)
    sudo apt install python3-pip
  6. Install submit50
    pip3 install submit50
  7. Close the Ubunto window and reopen (important - if you don't do this, then running 'submit50' will say "Command not found").

Now you can run submit50 in the Ubuntu window - note it will be installed in this Ubuntu Linux environment only and therefore cannot be run outside of it (i.e. it cannot be run in a Windows command prompt).

In order to submit your assignment, you have to be in the directory where your assignment is located. My assignment was saved in C:\Development\CS50\assignment0. To change to this directory in the Ubuntu prompt (note, Linux is case sensitive): cd /mnt/c/Development/CS50/assignment0

You also need the branch name the assignment requires you to submit to. Mine was: "games50/assignments/2020/x/0".

To submit: submit50 games50/assignments/2020/x/0

Thank you so much. It works well

Thanks for the help i was really trying to figure that out

Thank you so much for your help mdnielsen68! I was sweating trying to get my first assignment submitted and this worked :)