Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fatal Python error: initfsencoding: unable to load the file system codec

I have created a .exe file of a simple script with intentions to run it on a server however I cannot seem to figure out what this fault means or find any answers online. The fault code is as follows:

Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

Current thread 0x00003c8c (most recent call first):

To get this far I used pyinstaller

pyinstaller --onefile MyScript.py

When this didn't work I also tried

pyinstaller MyScript.py

I am running on windows 10, python 3.7 within admin command prompt, within a C:\ file directory.

My sys.path is

['', 'C:\Users\user\AppData\Local\Programs\Python\Python37-32\python37.zip', 'C:\Users\user\AppData\Local\Programs\Python\Python37-32\DLLs', 'C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib', 'C:\Users\user\AppData\Local\Programs\Python\Python37-32', 'C:\Users\user\AppData\Roaming\Python\Python37\site-packages', 'C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages', 'C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32', 'C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32\lib', 'C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pythonwin']

Any help is appreciated

like image 884
EcSync Avatar asked Jan 08 '19 07:01

EcSync


2 Answers

Looks like this is happening due to some problem in python installation. Are you sure python is configured properly? Did you add it into ENVIRONMENT VARIABLES?

Most likely it is because your PYTHONPATH ,i.e the one that locates the site-packages is improperly configured. It should work fine once you point PYTHONPATH to the corrent python3.x installation.

Once launch python from your cmd and check which site-packages it is loading.

import sys
sys.path

And then verify what is actually present in your PYTHONHOME

like image 122
Vineeth Sai Avatar answered Sep 20 '22 22:09

Vineeth Sai


I had the very same error message as EcSync. Although most people are pointing to the python setup being wrong this was not the case for me - aside from the fact that my system had not changed from one day to the next when I got the error, my environment variables matched the python sys.path

EcSync solved the problem by including a missing module but their answer is downvoted. I have to add my voice to say that this error was also caused by a missing module. The clue is in the error message:

Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

I simply modified my spec file to include the encodings module and then everything worked. To do this you may need to specify to pyinstaller to use the spec file provided rather than making one from scratch, and you will have to put the path to the missing module in the datas list of Analysis. See here.

like image 34
Alex Avatar answered Sep 18 '22 22:09

Alex