el_*_*_le 25 python virtualenv pycharm
我重新安装了Windows并打开了现有的Pycharm项目,并在Settings> Project Interpreter中收到错误'SDK似乎无效'.
项目解释器路径指向venv中的python:
MyProject\venv\Scripts\python.exe
Run Code Online (Sandbox Code Playgroud)
我尝试重新添加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'
Run Code Online (Sandbox Code Playgroud)
pch*_*pch 16
什么解决方案是:检查venv\pyvenv.cfg
并提供基本python安装的有效路径。
最有可能发生的情况: 重新安装操作系统后,您没有重新安装基本的Python 解释器,或者您已将其安装在与以前不同的位置。因此您的虚拟环境无法找到 python 安装。虚拟环境意味着所有库和设置都与其他项目隔离。它不提供隔离的 python 安装。您仍然需要用于创建 venv 的基础 Python。
我的情况:我在网络共享中有一个项目,并尝试从不同的计算机访问它。基本的python 路径取决于PC。上面的解决方案对我来说很好。不幸的是,我需要pyvenv.cfg
根据使用的 PC进行更新。
PS我相信有一个环境变量可以覆盖 venv 配置值。我只尝试set PYTHONPATH=C:\Anaconda3\envs\python37
在 Windows 上然后激活 venv。它没有效果,我放弃了。
sil*_*oxA 15
当我遇到完全相同的问题时,这是解决我的问题的方法
导航到Project Interpreter
选择框右侧的 ,单击齿轮图标,它将显示两个选项添加和显示全部。
单击全部显示,如果您从同一目录中看到以前的存在,请删除它。单击添加或+
签名以添加新的解释器并导航到您的project path
,向下导航到虚拟环境目录。
venv/bin/{选择带有版本代码的python可执行文件,即如果您使用的是python3.6,请选择python3.6}
选择后,您现在可以单击通知install packaging tools
,点击应用并完成。
最有可能的是,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 解释器将无法找到任何标准模块,除了那些被复制的少数模块。这完全符合你的症状。
归档时间: |
|
查看次数: |
11205 次 |
最近记录: |