Fatal Python error: init_import_site: Failed to import the site module
Python runtime state: initialized
Traceback (most recent call last):
File “C:\Miniconda3\lib\site.py”, line 589, in
File “C:\Miniconda3\lib\site.py”, line 576, in main
known_paths = addsitepackages(known_paths)
File “C:\Miniconda3\lib\site.py”, line 359, in addsitepackages
File “C:\Miniconda3\lib\site.py”, line 208, in addsitedir
addpackage(sitedir, name, known_paths)
File “C:\Miniconda3\lib\site.py”, line 164, in addpackage
for n, line in enumerate(f):
UnicodeDecodeError: ‘cp949’ codec can’t decode byte 0xec in position 3: illegal multibyte sequence
Running python gives me this error.
I’ve been using Python for years and I can’t figure out why.
I googled it, but none of these gave me an answer.
This is concerning. It is important to learn diagnostic and problem-solving skills, not only programming skills.
If I try copying and pasting
UnicodeDecodeError: ‘cp949’ codec can’t decode byte 0xec in position 3: illegal multibyte sequence into Google, the first result I get is python - How to fix "UnicodeDecodeError: 'cp949' codec can't decode byte 0xeb in position 24: illegal multibyte sequence" - Stack Overflow . Did you find this result? After reading it, what did you learn that you didn’t know before? You say that this didn’t give you an answer - why not? How about the other results? Did you identify a more specific problem to solve?
Aside from that, did you try to understand the error message? For example, do you know what a codec is, or what Unicode is, or decoding, or a multibyte sequence? Do you understand which codec is the
cp949 one? If you’re missing any of that information, did you try using Google to find out those things? Then what?
Aside from that, did you try to figure out what the code is doing? For example, it says
for n, line in enumerate(f):. Can you see that code? It appears that
f is some file, right? (If you have been using Python for years, I assume you know how to view a Python file when the error message tells you the path to it, and go to line 164, and look at a bit of the code.) Of course, this file is part of the standard library, so it would be a bad idea to change it. But it should at least be possible to figure out what file the code is trying to read. Did you try that? Did you figure out the file? Did you try to check what the file contains?
Aside from that, did you try to determine what has changed recently in your Python installation - i.e., since the last time that it worked? Have you tried to install something, for example? The stack trace is, after all, talking about adding site packages, and it’s reporting an error in the
site.py file (which is also something you can separately research about with Google).
I did read this post.
This one is modifying a code, which mine is that running python just doesn’t work.
Also, I looked up site.py and found enumerate(f), but I had no idea how to fix it.
I uninstalled 3.7 python and installed a new version(3.9, 3.10, and 3.11, I’ve tried all of these), and now I have this problem.
Apparently, you have a module installed with a .pth file written in an encoding that is incompatible with your system encoding.
Please try running Python with the
-v option (verbose mode), it should show which one is the source of the problem. I expect that you will be able to fix it by uninstalling the package in question.
P.S. Alternatively, you could try this