In general, you should avoid this style of programming. Modules shouldn't rely on global variables defined in other modules. A better solution would be to pass _PARAMETERS in to checkargs, or move _PARAMETERS to a file that can be shared by multiple modules.
Passing the data to checkargs
Generally speaking, relying on global variables is a bad idea. Perhaps the best solution is to pass PARAMETERS directly into your checkargs function.
# checkargs.py
def checkargs(argv, parameters):
...
# myapp.py
if __name__ == "__main__":
checkargs(sys.argv[1:], _PARAMETERS)
Creating a shared data module
If you have data that you want to share between modules, you can place that data in a third module that every other module imports:
# modules/shared.py
PARAMETERS = {...}
# myapp.py
from modules.shared import PARAMETERS
# checkargs.py
from modules.shared import PARAMETERS
Other solutions
There are other solutions, though I think the above two solutions are best. For example, your main program can copy the parameters to the checkargs module like this:
# myapp.py
import checkargs
checkargs._PARAMETERS = _PARAMETERS
...
You could also have checkargs directly reference the value in your main module, but that requires a circular import. Circular imports should be avoided.