Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'Cannot setup a Python SDK' in PyCharm project using virtualenv after OS reinstallation

I re-installed windows and opened an existing Pycharm project and get the error 'SDK seems invalid' in Settings > Project Interpreter.

The project interpreter path is pointing to python in the venv:

MyProject\venv\Scripts\python.exe 

enter image description here

I tried re-adding python.exe:

enter image description here

Thats when I get the error:

enter image description here

Update: here is an error from idea.log, a lot of other issues for virtual environments seem to be with windows environment variables and system paths:

2018-09-28 19:50:40,275 [  17601]   INFO - hon.packaging.PyPIPackageCache - Loaded 153296 packages from C:\Users\Matt\.PyCharm2018.2\system\python_packages\pypi-cache.json  2018-09-28 19:50:40,816 [  18142]   INFO - rains.python.sdk.PythonSdkType - Fatal Python error: Py_Initialize: unable to load the file system codec ModuleNotFoundError: No module named 'encodings'  Current thread 0x00000fa8 (most recent call first):  Exit code -1073740791  2018-09-28 19:50:40,816 [  18142]  ERROR - ns.python.sdk.PythonSdkUpdater - Failed to determine Python's sys.path value: STDOUT:  STDERR: Fatal Python error: Py_Initialize: unable to load the file system codec ModuleNotFoundError: No module named 'encodings'  Current thread 0x00000fa8 (most recent call first):  com.jetbrains.python.sdk.InvalidSdkException: Failed to determine Python's sys.path value: STDOUT:  STDERR: Fatal Python error: Py_Initialize: unable to load the file system codec ModuleNotFoundError: No module named 'encodings' 
like image 250
el_pup_le Avatar asked Sep 19 '18 11:09

el_pup_le


People also ask

Where is Python SDK installed?

If you installed the Python SDK on a Windows computer or a UNIX computer, no action is required. Python 3.6 is automatically installed along with the Python SDK. On a Windows computer, the installation location is C:\Program Files\Python36.

How do I fix invalid Python SDK Mac?

Open the PyCharm again, and it works fine. I was able to solve this problem by manually setting the python symbolic links in the virtualenv and manually editing pyvenv. cfg in the folder above bin.


1 Answers

What solution is: Check out venv\pyvenv.cfg and provide a valid path to the basic python installation.

What has most probably happend: After reinstalling your OS, you have no base python interpreter reinstalled or you have installed it at different location than before. Thus your virtual environment fails to locate the python installation. Virtual environment implies that all libraries and settings are isolated from other projects. It does not provide an isolated python installation. You still need your base python that had been used for venv creation.

My case: I have a project in a network share and try accessing it from different computers. The base python paths depend on the very PC. The solution above works fine for me. Unfortunatelly, I need to update pyvenv.cfg depending on the PC in use.

P.S. I believe that there is an environment variable to overide the venv config value. I only tried to set PYTHONPATH=C:\Anaconda3\envs\python37 on Windows and then to activate venv. It did no effect and I gave it up.

like image 191
pch Avatar answered Sep 21 '22 00:09

pch