Windows10下PyCharm社区版无法切换至Python2.7.1解释器求助
解决PyCharm添加Python2.7解释器时的StopIteration错误
在PyCharm Community Edition 2022.3.3中按路径File->Settings->Python Interpreter->Show All->Add Interpreter添加Python2.7解释器时,触发如下报错:
Traceback (most recent call last): File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_name) File "C:\Python27\lib\runpy.py", line 72, in _run_code exec code in run_globals File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.3.3\plugins\python-ce\helpers\virtualenv-20.13.0.pyz\__main__.py", line 167, in <module> File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.3.3\plugins\python-ce\helpers\virtualenv-20.13.0.pyz\__main__.py", line 163, in run File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.3.3\plugins\python-ce\helpers\virtualenv-20.13.0.pyz\virtualenv\__main__.py", line 18, in run File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.3.3\plugins\python-ce\helpers\virtualenv-20.13.0.pyz\virtualenv\run\__init__.py", line 30, in cli_run File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.3.3\plugins\python-ce\helpers\virtualenv-20.13.0.pyz\virtualenv\run\__init__.py", line 48, in session_via_cli File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.3.3\plugins\python-ce\helpers\virtualenv-20.13.0.pyz\virtualenv\run\__init__.py", line 69, in build_parser File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.3.3\plugins\python-ce\helpers\virtualenv-20.13.0.pyz\virtualenv\run\plugin\discovery.py", line 22, in get_discover StopIteration
已确认Python2.7.1安装完成且环境变量配置正常,CMD中可正常调用Python2.7。
解决方案
方法1:降级PyCharm版本
PyCharm 2022.3.x版本内置的virtualenv 20.13.0对Python2.7兼容性不佳,建议降级到PyCharm 2021.3.x或更早版本,这些版本的virtualenv与Python2.7适配性更好。
方法2:手动创建虚拟环境后导入PyCharm
- 打开CMD,进入目标目录,执行命令安装兼容版本的virtualenv并创建虚拟环境:
python2.7 -m pip install virtualenv==16.7.9 virtualenv venv_py27 - 回到PyCharm,进入
Settings->Python Interpreter->Show All->Add Interpreter,选择Existing environment,找到刚才创建的虚拟环境目录下的Scripts\python.exe路径,完成添加。
方法3:修改PyCharm内置virtualenv文件
- 找到PyCharm安装目录下的
plugins/python-ce/helpers/virtualenv-20.13.0.pyz文件,用压缩工具(如7-Zip)解压。 - 打开
virtualenv/run/plugin/discovery.py,修改get_discover函数:
原代码:
修改为:def get_discover(session): return next(i for i in session.plugin.discover if i.name == "discover")def get_discover(session): try: return next(i for i in session.plugin.discover if i.name == "discover") except StopIteration: from virtualenv.run.plugin.discover import Discover return Discover(session) - 重新打包为pyz格式,替换原文件(操作前请备份原文件)。
内容的提问来源于stack exchange,提问作者Pietia
相关产品推荐
相关产品推荐

