|
| 1 | +import sys |
| 2 | + |
1 | 3 | # https://stackoverflow.com/a/51704613 |
2 | 4 | try: |
3 | 5 | from pip import main as pipmain |
4 | 6 | except ImportError: |
5 | 7 | from pip._internal import main as pipmain |
6 | 8 |
|
7 | | - |
8 | 9 | DEFAULT_LOGGER = 'rlbot' |
9 | 10 |
|
10 | | -# https://stackoverflow.com/a/24773951 |
11 | | -def install_and_import(package): |
12 | | - import importlib |
| 11 | +if __name__ == '__main__': |
13 | 12 |
|
14 | 13 | try: |
15 | | - importlib.import_module(package) |
16 | | - except ImportError: |
17 | | - pipmain(['install', package]) |
18 | | - finally: |
19 | | - globals()[package] = importlib.import_module(package) |
| 14 | + from rlbot.utils import public_utils, logging_utils |
20 | 15 |
|
| 16 | + logger = logging_utils.get_logger(DEFAULT_LOGGER) |
| 17 | + if not public_utils.have_internet(): |
| 18 | + logger.log(logging_utils.logging_level, |
| 19 | + 'Skipping upgrade check for now since it looks like you have no internet') |
| 20 | + elif public_utils.is_safe_to_upgrade(): |
| 21 | + pipmain(['install', '-r', 'requirements.txt', '--upgrade', '--upgrade-strategy=eager']) |
21 | 22 |
|
22 | | -if __name__ == '__main__': |
23 | | - install_and_import('rlbot') |
24 | | - from rlbot.utils import public_utils, logging_utils |
25 | | - logger = logging_utils.get_logger(DEFAULT_LOGGER) |
26 | | - if not public_utils.have_internet(): |
27 | | - logger.log(logging_utils.logging_level, 'Skipping upgrade check for now since it looks like you have no internet') |
28 | | - elif public_utils.is_safe_to_upgrade(): |
| 23 | + # https://stackoverflow.com/a/44401013 |
| 24 | + rlbots = [module for module in sys.modules if module.startswith('rlbot')] |
| 25 | + for rlbot_module in rlbots: |
| 26 | + sys.modules.pop(rlbot_module) |
| 27 | + |
| 28 | + except ImportError: |
29 | 29 | pipmain(['install', '-r', 'requirements.txt', '--upgrade', '--upgrade-strategy=eager']) |
30 | 30 |
|
31 | 31 | try: |
32 | | - import sys |
33 | 32 | if len(sys.argv) > 1 and sys.argv[1] == 'gui': |
34 | 33 | from rlbot.gui.qt_root import RLBotQTGui |
| 34 | + |
35 | 35 | RLBotQTGui.main() |
36 | 36 | else: |
37 | 37 | from rlbot import runner |
| 38 | + |
38 | 39 | runner.main() |
39 | 40 | except Exception as e: |
40 | 41 | print("Encountered exception: ", e) |
|
0 commit comments