Fixed importing of o3de package modules within the o3de.py script when a relative path is used to invoke it

main
lumberyard-employee-dm 5 years ago
parent 21285809bf
commit 1a95b96985

@ -27,18 +27,26 @@ def add_args(parser, subparsers) -> None:
# As o3de.py shares the same name as the o3de package attempting to use a regular # As o3de.py shares the same name as the o3de package attempting to use a regular
# from o3de import <module> line tries to import from the current o3de.py script and not the package # from o3de import <module> line tries to import from the current o3de.py script and not the package
# So the current script directory is removed from the sys.path temporary # So the current script directory is removed from the sys.path temporary
SCRIPT_DIR_REMOVED = False script_dir_removed = False
SCRIPT_DIR = pathlib.Path(__file__).parent.resolve() script_abs_dir_removed = False
while str(SCRIPT_DIR) in sys.path: script_dir = pathlib.Path(__file__).parent
SCRIPT_DIR_REMOVED = True script_abs_dir = pathlib.Path(__file__).parent.resolve()
sys.path.remove(str(SCRIPT_DIR)) while str(script_dir) in sys.path:
script_dir_removed = True
sys.path.remove(str(script_dir))
while str(script_abs_dir) in sys.path:
script_abs_dir_removed = True
# Remove the absolute path to the script_dir as well
sys.path.remove(str(script_abs_dir.resolve()))
from o3de import engine_template, global_project, register, print_registration, get_registration, download, \ from o3de import engine_template, global_project, register, print_registration, get_registration, download, \
add_external_subdirectory, remove_external_subdirectory, add_gem_cmake, remove_gem_cmake, add_gem_project, \ add_external_subdirectory, remove_external_subdirectory, add_gem_cmake, remove_gem_cmake, add_gem_project, \
remove_gem_project, sha256 remove_gem_project, sha256
if SCRIPT_DIR_REMOVED: if script_abs_dir_removed:
sys.path.insert(0, str(SCRIPT_DIR)) sys.path.insert(0, str(script_abs_dir))
if script_dir_removed:
sys.path.insert(0, str(script_dir))
# global_project # global_project
global_project.add_args(subparsers) global_project.add_args(subparsers)

Loading…
Cancel
Save