使用PyCharm创建虚拟环境时出现KeyError错误
PyCharm无法创建虚拟环境,报zipapp相关KeyError错误
PyCharm 2023.2.1社区版(运行于Windows 11系统,搭配Python 3.9)无法自动为项目创建虚拟环境,必须手动操作,过程中触发zipapp相关错误,核心报错信息如下:
File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\util\zipapp.py", line 19, in extract import {module} File "C:\Users\marco.sulla\AppData\Local\Programs\python39\lib\zipfile.py", line 1438, in getinfo raise KeyError( KeyError: "There is no item named 'ate/via_global_ref/_virtualenv.py' in the archive"
完整堆栈跟踪:
Traceback (most recent call last): File "C:\Users\marco.sulla\AppData\Local\Programs\python39\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\marco.sulla\AppData\Local\Programs\python39\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\__main__.py", line 167, in <module> File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\__main__.py", line 163, in run File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\__main__.py", line 16, in run File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\run\__init__.py", line 30, in cli_run File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\run\session.py", line 42, in run File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\run\session.py", line 49, in _create File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\create\creator.py", line 153, in run File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\create\via_global_ref\builtin\via_global_self_do.py", line 93, in create File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\create\via_global_ref\api.py", line 83, in create File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\create\via_global_ref\api.py", line 86, in install_patch File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\create\via_global_ref\api.py", line 97, in env_patch_text File "C:\Users\marco.sulla\AppData\Local\Programs\python39\lib\contextlib.py", line 119, in __enter__ return next(self.gen) File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\app_data\base.py", line 54, in ensure_extracted File "C:\Users\marco.sulla\AppData\Local\Programs\python39\lib\contextlib.py", line 119, in __enter__ return next(self.gen) File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\app_data\via_disk_folder.py", line 78, in extract File "C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz\virtualenv\util\zipapp.py", line 19, in extract import {module} File "C:\Users\marco.sulla\AppData\Local\Programs\python39\lib\zipfile.py", line 1438, in getinfo raise KeyError( KeyError: "There is no item named 'ate/via_global_ref/_virtualenv.py' in the archive"
解决方法
- 清理PyCharm缓存:打开PyCharm,依次点击
File->Invalidate Caches...,选择Invalidate and Restart,重启后尝试重新创建虚拟环境 - 更新virtualenv:在命令行执行
pip install --upgrade virtualenv,之后在PyCharm的Python解释器配置中,选择使用系统安装的virtualenv而非内置版本 - 检查内置virtualenv包完整性:找到路径
C:\Users\marco.sulla\Programs\pycharm\plugins\python-ce\helpers\virtualenv-20.16.7.pyz,尝试用解压工具打开该文件,若解压失败说明包已损坏,需重新安装PyCharm或替换该文件 - 手动创建虚拟环境并导入:在项目根目录打开命令行,执行
python -m venv venv创建虚拟环境,然后在PyCharm中依次点击File->Settings->Project: [你的项目名]->Python Interpreter,点击右上角齿轮图标选择Add,在弹出窗口中选择已创建的虚拟环境目录下的Scripts\python.exe
内容的提问来源于stack exchange,提问作者Marco Sulla
相关产品推荐
相关产品推荐

