初学者犯的 7 个 Python 错误(以及该怎么做)

这是关于导致正在运行的程序出错的错误。下面是其中的七个。对于每个问题,您都会得到隐藏的原因,以及值得检查的第一件事。

来源:KDnuggets

一些 Python bug 通过回溯来宣告自身。令人抓狂的是 don't.pip 发誓软件包已安装,但导入失败。昨天运行的脚本突然找不到明显就在那里的函数。两个列表配对,一条记录悄然消失,没有错误,也没有警告。

这是其中大多数背后令人不舒服的模式:Python 完全按照您的要求做了。差距就在你所要求的和你假设的之间,而这个差距就是初学者整个下午的损失。这与语法错误或常见的 Python 陷阱(如 KDnuggets 之前介绍过的可变默认参数)无关;这是关于导致正在运行的程序出错的错误。下面是其中的七个。对于每个问题,您都会得到隐藏的原因,以及值得检查的第一件事。

1. 将包安装到不同的 Python

初学者糟糕的一天的经典开场场景:pip install requests 愉快地完成,您运行脚本,Python 用 ModuleNotFoundError:没有名为“requests”的模块来迎接您。你再安装一下。同样的错误。在这一点上,你确实感觉 pip 和 Python 正在给你加油,但事实更无聊:你有两个不同的 Python。多年来,解释器堆积在一台机器上,每个虚拟环境都有自己的解释器和自己的包目录。 PATH 上的 pip 很容易属于一个 Python,而您的脚本在另一个 Python 下运行。

解决办法是停止让它们逐渐分开。创建并激活一个环境,然后通过实际运行代码的解释器路由每个安装:

python -m venv .venv

源 .venv/bin/activate # Windows: .venv\Scripts\activate

python -m pip 安装请求2. 你的文件名劫持了导入重命名文件,问题通常会立即消失。如果它仍然存在,请删除它旁边的 stale__pycache__ 文件夹。对于未来出现的任何此类混乱,一行可以解决 Python 实际加载的内容的问题:print(module.__file__)。