I have experience working with several languages in different languages and several general purpose languages (C, C ++, Java, Delphi, etc.), and I have no experience with Python (just a general idea about this).
You should not judge languages based on how heavy they are. You say that you need to consider the fact that you have to spend time debugging the code to please the C ++ compiler. I am an experienced C ++ programmer, and I can write several thousand lines of code at a time, then compile and run, and everything works on the first try (well, there are several unavoidable typos and stuff like in any programming), so this argument is valid applies only to your level of programming language skills. I always support C ++ for any projects that I have, because it is so effective (for me) for coding in this language. This, of course, can be a pragmatic idea that you should program in a language in which you can really be productive (in the short term).
But, when it comes to training, you should be guided by what seems to be applicable in your domain. I do artificial intelligence to control robots, so I need hardware access, and I need the sophisticated programming constructs offered by OOP, GP, and TMP. Thus, the choice of C ++ for me is straightforward. You should ask, what are the common tasks in your domain? Where do they stand on the scales, such as low-level, network and numerical analyzes, user-oriented and computationally oriented? What are the most widely used languages in your area (or the one you would like to get into)?
I also want to note that as a Linux user, the installation, which seems quite common among developers of the open source Linux software ecosystem, is to implement low-level C drivers, sophisticated C ++ software, and high programming interfaces and plugins in Python . This is what I apparently observe in many open source programs, and I think it makes sense that it uses the best of all three languages. So I'm thinking of starting to learn Python on the side.