我重新安装了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'
答案 0 :(得分:2)
什么是解决方案:请检出venv\pyvenv.cfg
并提供基本python安装的有效路径。
最有可能发生的事情: 重新安装操作系统后,您没有重新安装 base python解释器,或者将其安装在与以前不同的位置。因此,您的虚拟环境无法找到python安装位置。虚拟环境意味着所有库和设置都与其他项目隔离。 不不提供隔离的python安装。您仍然需要用于venv创建的基本python。
我的案子:我在网络共享中有一个项目,并尝试从其他计算机访问它。基本的python路径取决于PC。上面的解决方案对我来说很好。不幸的是,我需要根据使用的PC更新pyvenv.cfg
。
PS 。我相信有一个环境变量可以覆盖venv配置值。我只尝试在Windows上set PYTHONPATH=C:\Anaconda3\envs\python37
,然后激活venv。它没有任何效果,我放弃了。
答案 1 :(得分:1)
以上都不适合我
我做了一个简单的更改,希望它也对您有用!
由于在存储python.exe中发生冲突而发生,在我的情况下,它在F:\驱动器中
解决方案:-Pycharm希望python.exe文件存在于某个位置,您可以在项目解释器中检查,它将显示pycharm正在搜索以执行exe文件的某些默认位置,但是问题是该位置不存在exe文件,因此请创建pycharm希望执行exe文件的文件夹并粘贴下载的exe文件
希望它对您有用!
快乐编码
答案 2 :(得分:0)
很可能,PyCharm尝试使用的通往Python环境的某些路径在某处变得无效。 (至少)有两个主要嫌疑人:
PyCharm需要了解环境的运行路径。因此,如果该路径更改,PyCharm的保存路径将变为无效。
转到File->Settings...->Project interpreter->(Gear icon)->Show all...
中项目的解释器设置:
然后删除并重新创建必要的条目。或编辑它们并指定正确的路径。 例如。这是删除Anaconda安装后的列表:
由于virtualenv不是完整安装,因此必须在其基本安装路径中存储一个路径,以便能够从此处使用文件。
在撰写本文时,Windows中的virtualenv
(v16.0.0
)的实现方式如下:
python.exe
和其他几个文件被复制到virtualenv的子树中Lib\orig-prefix.txt
中,存储了基本安装的路径。它用于通过自定义Lib
将基本安装的sys.path
添加到site.py
。因此,如果该文件中的路径变为无效,则virtualenv的Python解释器将无法找到任何标准模块,只有那些被复制的模块除外。完全适合您的症状。
答案 3 :(得分:0)
当我遇到完全相同的问题时,这就是解决我的问题的方法
导航至选择框右侧的Project Interpreter
,点击齿轮图标,它将显示两个选项,添加并全部显示。
单击全部显示,如果您从同一目录中看到先前的存在,则将其删除。单击添加或+
签名以添加新的解释器,然后导航到您的project path
,向下导航到虚拟环境目录。
venv / bin / {选择带有版本代码的python可执行文件,即如果您使用的是python3.6,请选择python3.6}
选择后,您现在可以点击显示install packaging tools
的通知,点击“应用并完成”。
答案 4 :(得分:0)
好吧,我是Python的新手,崩溃后我也重新安装了操作系统
旧设置: 在旧的系统设置中,我使用了python 3.7.4。为此,我制作了我的所有(实践)项目,每个项目中都有venv / scripts / python3.7.exe。...我的意思是/是这些虚拟环境中“独立”的所有文件,足以为该特定的projec文件运行python 3.7.4,而不取决于home-python-dir的文件。 python的安装目录是c:\ Program Files(x86)\ python 37-32
每个项目都有一个文件[project-path] /venv/pyvenv.cfg,在该文件中有以下行 主页= C:\ Program Files(x86)\ Python37-32
然后-我的系统崩溃-重新安装Windows 10,然后再次下载python,但这一次是python 3.8,它安装在C:\ Program Files(x86)\ Python38-32
新设置: 因此,在丢失了一些毛发后-我还在pyenv.cfg文件(C:\ Program Files(x86)\ Python37-32)中指定的特定路径中安装了旧的Python版本3.7.4。因此,我在新系统上安装了2个python版本,一个在... / python38-32中,一个在... / python37-32
中那行得通,所以当我在“添加解释器/现有解释器”中选择并指向[project] /venv/python3.7.exe时,它就像一种魅力。
因此,显然在pycharm / python需要的每个特定于版本的主目录中都有文件-我的印象是.venv目录中的文件将是所有需要的...。
答案 5 :(得分:0)
我目前遇到同样的问题,我无法在Pycharm中安装任何打包工具,这让我感到震惊。这是我固定的步骤,只想分享。哦。
第1步
查找全部显示在设置图标的右上角
第2步
点击+图标打开“添加python解释器”
第3步
在Virtualenv Environment下的New environment的位置中,选择文件
第4步
找到您的Pycharm文件并在其下创建一个空文件,然后单击“确定”并保持单击“确定”
第5步
现在在Project Interpreter中选择刚刚创建的空文件,现在可以安装Pycharm软件包了,希望这可以解决您的问题。
答案 6 :(得分:0)
当我切换在不同位置安装了不同python版本的系统时,遇到了这个问题。一个简单的简短解决方案是打开“ pyenv”文件,然后将其指向当前系统中的当前安装路径。