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

时间:2018-09-19 11:11:33

标签: 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'

7 个答案:

答案 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需要了解环境的运行路径。因此,如果该路径更改,PyCharm的保存路径将变为无效。

转到File->Settings...->Project interpreter->(Gear icon)->Show all...中项目的解释器设置:

settings

然后删除并重新创建必要的条目。或编辑它们并指定正确的路径。 例如。这是删除Anaconda安装后的列表:

interpreter settings

virtualenv中指向其基本安装的路径

由于virtualenv不是完整安装,因此必须在其基本安装路径中存储一个路径,以便能够从此处使用文件。

在撰写本文时,Windows中的virtualenvv16.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的通知,点击“应用并完成”。

enter image description here

答案 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步

查找全部显示在设置图标的右上角  Find show all in the right corner of a setting icon

第2步

点击+图标打开“添加python解释器”  Click the + icon to open Add python Interpreter

第3步

在Virtualenv Environment下的New environment的位置中,选择文件  In New environment 's Location Under Virtualenv Environment select file

第4步

找到您的Pycharm文件并在其下创建一个空文件,然后单击“确定”并保持单击“确定”  Find your Pycharm file and make an empty file under it and click OK and keep click OK

第5步

现在在Project Interpreter中选择刚刚创建的空文件,现在可以安装Pycharm软件包了,希望这可以解决您的问题。  Now in Project Interpreter select the empty file you just create and now you should be fine to install Pycharm package.Hope this solve your problem.

答案 6 :(得分:0)

当我切换在不同位置安装了不同python版本的系统时,遇到了这个问题。一个简单的简短解决方案是打开“ pyenv”文件,然后将其指向当前系统中的当前安装路径。