python - 重新安装操作系统后使用 virtualenv 在 PyCharm 项目中“无法设置 Python SDK”

标签 python pycharm virtualenv

我重新安装了 Windows 并打开了一个现有的 Pycharm 项目,并在“设置”>“项目解释器”中收到错误“SDK 似乎无效”。

项目解释器路径指向venv中的python:

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'

最佳答案

解决方案是:查看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/

相关文章:

python - 是否可以为 python 创建嵌套的虚拟环境?

python - Keras:如何在顺序模型中获取图层形状

python - 如何区分两种动态类型?

python - 在python中查找对对象的所有引用

python - 创建 virtualenv 后无法 git 添加 env/bin 目录

python - 在 virtualenv 中使用 pip 时如何避免 "Permission denied"

python - 从 Python 中的命名空间获取所需选项

python - 正常列表 'type' 对象不可订阅

python - 包的某些成员不可见 - Pycharm

html - 如何阻止 PyCharm 自动完成 HTML 和 Django 模板标签?