我重新安装了 Windows 并打开了一个现有的 Pycharm 项目,并在“设置”>“项目解释器”中收到错误“SDK 似乎无效”。
项目解释器路径指向venv中的python:
MyProject\venv\Scripts\python.exe
我尝试重新添加 python.exe:
那是我收到错误的时候:
更新:这是来自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'
最佳答案
解决方案是:查看venv\pyvenv.cfg
并提供基本python安装的有效路径。
最有可能发生的事情: 重新安装操作系统后,您没有重新安装 base python 解释器,或者您将它安装在与以前不同的位置。因此,您的虚拟环境无法找到 python 安装。虚拟环境意味着所有库和设置都与其他项目隔离。它不提供隔离的python 安装。您仍然需要用于创建 venv 的基础 python。
我的情况:我在网络共享中有一个项目,并尝试从不同的计算机访问它。基本的 python 路径取决于 PC。上面的解决方案对我来说很好。不幸的是,我需要根据使用的 PC 更新 pyvenv.cfg
。
P.S. 我相信有一个环境变量可以覆盖 venv 配置值。我只尝试在 Windows 上 set PYTHONPATH=C:\Anaconda3\envs\python37
然后激活 venv。没有效果,我放弃了。
关于python - 重新安装操作系统后使用 virtualenv 在 PyCharm 项目中“无法设置 Python SDK”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52404529/