PyCharm运行Python代码报错求助:找不到string模块
解决PyCharm中
import string报错的思路 嘿,这个问题其实挺常见的——毕竟string是Python的内置模块,正常情况下根本不会出现找不到的情况,大概率是PyCharm的环境配置出了问题。给你几个一步步排查的思路:
检查PyCharm的Python解释器配置
这是最可能的原因:PyCharm可能没使用你IDLE里那个正常的Python 3.6版本。操作步骤:- 打开PyCharm,依次点击
File > Settings(Windows/Linux)或PyCharm > Preferences(Mac) - 找到
Project: [你的项目名称] > Python Interpreter - 在顶部的解释器下拉菜单里,确认是否选中了和IDLE一致的Python 3.6版本。如果没有,点击右侧的齿轮图标,选择
Add来添加正确的解释器路径(一般是Python 3.6的安装目录下的python.exe)
- 打开PyCharm,依次点击
排查项目虚拟环境是否损坏
如果你用了虚拟环境来管理项目依赖,可能虚拟环境的Python安装出现了损坏,导致内置模块缺失:- 先删除当前项目的虚拟环境文件夹(一般在项目根目录下的
venv或env文件夹) - 重新创建一个基于Python 3.6的虚拟环境:可以用PyCharm的
New Project向导创建,或者在终端运行python3.6 -m venv venv - 在PyCharm的解释器设置里切换到这个新创建的虚拟环境
- 先删除当前项目的虚拟环境文件夹(一般在项目根目录下的
检查是否存在重名文件
如果你项目里有自己命名为string.py的文件,会直接覆盖Python的内置string模块,导致导入错误:- 在项目文件列表里搜索
string.py,如果找到,立刻重命名(比如改成my_string_utils.py) - 同时删除项目目录下的
__pycache__文件夹和生成的string.pyc文件(如果有的话)
- 在项目文件列表里搜索
验证Python解释器本身是否正常
如果上面的步骤都没用,可能是你安装的Python 3.6本身有问题:- 在PyCharm的Terminal里运行
python --version,确认输出是Python 3.6.x - 接着在Terminal里运行
import string; print(string.ascii_lowercase),如果这里也报错,说明是Python安装的问题,需要重新下载安装Python 3.6的官方版本
- 在PyCharm的Terminal里运行
另外提个小细节:在Python 3里print是函数,所以print string.ascii_lowercase是Python 2的写法,正常在Python 3.6里会报语法错误。你说IDLE里能运行,可能是在IDLE里写的是print(string.ascii_lowercase)(带括号),可以检查下PyCharm里的代码是否有这个语法问题哦。
内容的提问来源于stack exchange,提问作者coding_al
相关产品推荐
相关产品推荐

