Repository: Cloud-CV/EvalAI
Issue: SyntaxError: Missing parentheses in call to 'print'
Root cause: Validation Gap

I have built and run the Docker containers for eval AI. Submitting using the default challenge works for me and evaluation happens automatically. But when I upload a new sample challenge (from https://github.com/Cloud-CV/EvalAI/blob/master/examples/example1/test_zip_file.zip), I hit an issue where my submissions don't get evaluated. I approve the challenge as admin, followed by making the challenge public. I then do a `docker-compose restart worker` which throws the error below:

worker_1  | [2019-09-05 15:42:05] ERROR Exception raised while creating Python module for challenge_id: 2
worker_1  | Traceback (most recent call last):
worker_1  |   File "/code/scripts/workers/submission_worker.py", line 250, in extract_challenge_data
worker_1  |     CHALLENGE_IMPORT_STRING.format(challenge_id=challenge.id)
worker_1  |   File "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
worker_1  |     return _bootstrap._gcd_import(name[level:], package, level)
worker_1  |   File "<frozen importlib._bootstrap>", line 994, in _gcd_import
worker_1  |   File "<frozen importlib._bootstrap>", line 971, in _find_and_load
worker_1  |   File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
worker_1  |   File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
worker_1  |   File "<frozen importlib._bootstrap_external>", line 678, in exec_module
worker_1  |   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
worker_1  |   File "/tmp/tmp0j128ctn/compute/challenge_data/challenge_2/__init__.py", line 1, in <module>
worker_1  |     from .main import evaluate
worker_1  |   File "/tmp/tmp0j128ctn/compute/challenge_data/challenge_2/main.py", line 7
worker_1  |     print "Loading Test annotation file ..."
worker_1  |                                            ^
worker_1  | SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Loading Test annotation file ...")?
worker_1  | Traceback (most recent call last):
worker_1  |   File "/usr/local/lib/python3.6/runpy.py", line 193, in _run_module_as_main
worker_1  |     "__main__", mod_spec)
worker_1  |   File "/usr/local/lib/python3.6/runpy.py", line 85, in _run_code
worker_1  |     exec(code, run_globals)
worker_1  |   File "/code/scripts/workers/submission_worker.py", line 747, in <module>
worker_1  |     main()
worker_1  |   File "/code/scripts/workers/submission_worker.py", line 688, in main
worker_1  |     load_challenge(challenge)
worker_1  |   File "/code/scripts/workers/submission_worker.py", line 268, in load_challenge
worker_1  |     extract_challenge_data(challenge, phases)
worker_1  |   File "/code/scripts/workers/submission_worker.py", line 250, in extract_challenge_data
worker_1  |     CHALLENGE_IMPORT_STRING.format(challenge_id=challenge.id)
worker_1  |   File "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
worker_1  |     return _bootstrap._gcd_import(name[level:], package, level)
worker_1  |   File "<frozen importlib._bootstrap>", line 994, in _gcd_import
worker_1  |   File "<frozen importlib._bootstrap>", line 971, in _find_and_load
worker_1  |   File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
worker_1  |   File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
worker_1  |   File "<frozen importlib._bootstrap_external>", line 678, in exec_module
worker_1  |   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
worker_1  |   File "/tmp/tmp0j128ctn/compute/challenge_data/challenge_2/__init__.py", line 1, in <module>
worker_1  |     from .main import evaluate
worker_1  |   File "/tmp/tmp0j128ctn/compute/challenge_data/challenge_2/main.py", line 7
worker_1  |     print "Loading Test annotation file ..."
worker_1  |                                            ^
worker_1  | SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Loading Test annotation file ...")?

@RishabhJain2018 @deshraj any comments?

Hi @ansuabraham, Thanks for pointing out the bug. We will fix it.
Moreover, please use [EvalAI-Starters](https://github.com/Cloud-CV/EvalAI-Starters) repository for creating a challenge. 

Thanks @RishabhJain2018. Realized that the test challenge was has an evaluation script using Python 2.7 causing this bug above. EvalAI-Starters works for my purpose. 

Thanks for confirming it. Closing this issue.