«Невозможно установить Python SDK» в проекте PyCharm с использованием virtualenv после переустановки ОС - PullRequest
0 голосов
/ 19 сентября 2018

Я переустановил Windows и открыл существующий проект Pycharm и получил сообщение об ошибке «SDK кажется недействительным» в меню «Настройки»> «Интерпретатор проекта».

Путь к интерпретатору проекта указывает на python в venv:

MyProject\venv\Scripts\python.exe

enter image description here

Я попытался повторно добавить python.exe:

enter image description here

Вот когда я получаю сообщение об ошибке:

enter image description here

Обновление: Вот ошибка из idea.log, много другихпроблемы для виртуальных сред, похоже, связаны с переменными среды Windows и системными путями:

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'

Ответы [ 2 ]

0 голосов
/ 10 февраля 2019

Вот что решило мою проблему, когда я столкнулся с точно такой же проблемой

Перейдите к Project Interpreter, справа от поля выбора, щелкните значок шестеренки, он покажет две опции: добавить и показать все.

Нажмите показать все, если вы видите предыдущее существование из того же каталога, удалите его.Нажмите на кнопку добавления или знак +, чтобы добавить новый интерпретатор и перейдите к project path, перейдите вниз к каталогу виртуальной среды.

venv / bin / {выберите исполняемый файл python с версиейкод, т. е. если вы используете python3.6, выберите python3.6}

После выбора вы можете щелкнуть уведомление с надписью install packaging tools, нажать «Применить» и «Готово».

enter image description here

0 голосов
/ 28 сентября 2018

Скорее всего, какой-то путь к среде Python, который пытается использовать PyCharm, где-то стал недействительным.Существует (как минимум) два основных подозреваемых:

Путь к вашему virtualenv в настройках PyCharm

PyCharm должен знать путь к вашей среде, чтобы что-то в ней запускать.Таким образом, если этот путь изменился, сохраненный путь PyCharm стал недействительным.

Перейдите к настройкам интерпретатора для вашего проекта в File->Settings...->Project interpreter->(Gear icon)->Show all...:

settings

Затем удалите и заново создайте необходимые записи.Или отредактируйте их и укажите правильные пути.Например, вот так выглядит мой список после удаления установки Anaconda:

interpreter settings

Путь в virtualenv к его базовой установке

Поскольку virtualenv не является полной установкой, он должен иметь путь к базовой установке, где-то храниться, чтобы иметь возможность использовать файлы оттуда.

На момент написания этой статьи virtualenv (v16.0.0) в Windowsреализован так:

  • Реальный python.exe и несколько других файлов копируются в поддерево virtualenv
  • В Lib\orig-prefix.txt сохраняется путь к базовой установке.Он используется для добавления Lib базовой установки к sys.path через пользовательский site.py.

Так что, если путь в этом файле станет недействительным, интерпретатор Python virtualenv не сможетнайти любые стандартные модули, кроме тех, которые были скопированы.Что идеально подходит под ваши симптомы.

...