-
Notifications
You must be signed in to change notification settings - Fork 2
Troubleshooting
This page contains a number of useful checklists you can refer to when experiencing issues with VacuumWorld.
-
Are you trying to install VacuumWorld on an unsupported OS (such as all versions of MacOS/Windows)?
-
Did you create a
virtualenv
, as specified in the installation guide? -
Is your
python
version≥3.10
? -
Did you keep your
virtualenv
active throughout the entire procedure? -
Did you misspell any of the commands?
-
Do you have any shell alias that might collide with one or more of the commands?
-
Did you install VacuumWorld on an unsupported OS (such as all versions of MacOS/Windows)?
-
Did you create a
virtualenv
, as specified in the installation guide? -
Is your
python
version≥3.10
? -
Is your
virtualenv
active? -
Are you using the most recent version of VacuumWorld?
-
Did you misspell any of the commands?
-
Are you correctly importing any non-built-in symbol that you use in your code?
-
Do you have any shell alias that might collide with one or more of the commands?
-
Is there any issue with your code (see next checklist)?
-
Did you go through the previous checklist?
-
Did you remember to wrap
run()
withif __name__ == "__main__":
, as per this guide? -
Did you pass the surrogate mind(s) you coded to
run()
correctly? You might want to re-check this section. -
If you passed additional arguments to
run()
, did you follow the rules specified here? -
Did you unwrap the
PyOptional[VWLocation]
returned by an Observation API method, and checked that it is notempty
before calling any of theVWLocation
API methods? -
More in general: are you checking that a
PyOptional
is not empty before unwrapping it, and calling any of the methods of the wrapped object? -
Are you checking (or asserting) that a return value (or a method parameter) is not
None
before calling any of its methods? (This does not apply toPyOptional
- see above) -
Did you attempt to access anything
private
from a python object (anything starting with__
)? Don't do that: use the API methods instead. -
Are you using something that is specific to
python2
(such as theprint
statement rather thanprint()
)? Remember, VacuumWorld requires and assumespython3.10+
. -
Did you try to load a corrupted file, or a file referring to an older version of VacuumWorld?
-
Did you remember to include the following lines of code (passing the appropriate mandatory and optional arguments to
run()
) in the file you are trying to run withpython3
?
# At the top of the file.
from vacuumworld import run
# ...
# At the bottom of the file.
if __name__ == "__main__":
run(<arguments-here>)
- Home
- The VacuumWorld Abstraction
- Real World vs. Simulated Actors
- Installing and Running
- User Interface
- Cycle
- Useful VacuumWorld Imports
- Perceptions
- Wall
- Actions
- Teleoreactive Programming
- General Tips
- Python Tips
- Optimal Setup
- PyDoc
- Troubleshooting
- Reporting Issues
- Side Projects and Additional Resources
- Other Examples
- Changelog