raise NotProjectAssistantError()
udacity_pa.projectassistant.NotProjectAssistantError: Not an Udacity Project Assistant directory. No .udacity-pa folder found.
ls
(bash) or dir
(windows) to see the contents of the current directory, and cd
to change the current directory.~/.udacity-pa
on unix/OS X or %APPDATA%\udacity-pa
on Windows). .udacity-pa
folder within the project repo rather than the ~/.udacity-pa
folder)The PA has a debugging capability to check for the jwt. Update to the latest version of the PA script, then use the diagnose
action (Note: the script must be run from a valid AIND project folder from GitHub, e.g., AIND-Sudoku -- running in a non-PA folder will raise an error, "No .udacity-pa folder found"):
$ pip install --upgrade udacity-pa
$ git clone https://github.com/udacity/AIND-Sudoku; cd AIND-Sudoku
$ udacity diagnose
If you are in a valid project folder, then the diagnose script will print output including the expected jwt location & whether the script was able to find it there. For example, on OS X:
{
"proxies": {},
"default_jwt_path": "/Users/user/.udacity-pa/jwt",
"jwt_present": true,
"projects_file_present": true,
"terminal": "xterm-256color",
"platform": "darwin"
}
diagnose
command but the submit
command still asks for a username and password. This is an especially common problem for students who use computers provided by their employers, which frequently have strict security policies. Note: These error messages are typically generated by the system managing the PA sandbox, so the errors are not pretty-printed. You may have to dig into the message to find the underlying error.
Example Exit Status 1:
{
"error": "{\"stdout\": \"\", \"run_stdout\": \"\", \"cmd\": \"sudo -H -u vmuser_wdrxhozp bash -c \\\"cd /home/vmuser_wdrxhozp; ulimit -f 160000 ; ulimit -c 10000 ; python run.py sudoku 1> run_stdout.txt 2> run_stderr.txt\\\"\", \"return_code\": 1, \"run_stderr\": \"Traceback (most recent call last):\\n File \\\"run3.py\\\", line 8, in <module>\\n import workspace.solution as solution\\n File \\\"/home/vmuser_wdrxhozp/workspace/solution.py\\\", line 13\\n values[box] = value\\n ^\\nIndentationError: unindent does not match any outer indentation level\\nTraceback (most recent call last):\\n File \\\"run.py\\\", line 9, in <module>\\n main()\\n File \\\"run.py\\\", line 6, in main\\n sp.check_call([python3_cmd(), 'run3.py'])\\n File \\\"/usr/lib/python2.7/subprocess.py\\\", line 541, in check_call\\n raise CalledProcessError(retcode, cmd)\\nsubprocess.CalledProcessError: Command '['/opt/anaconda3/bin/python', 'run3.py']' returned non-zero exit status 1\\n\", \"stderr\": \"\"}"
}
In the middle of that message is the root cause of the failure, an indentation error on line 13 of the submitted "solution.py" file (from the Sudoku project):
File "/home/vmuser_wdrxhozp/workspace/solution.py", line 13
values[box] = value
^
IndentationError: unindent does not match any outer indentation level
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='project-assistant.udacity.com', port=443): Max retries exceeded with url: /auth/udacity/callback (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x10634c390>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known',))