如果你是一个 Python 开发者,你可能听说过 pyenv、poetry 或 anaconda 这样的 “工具”,他们的目的是管理 Python 版本和包依赖,简化开发流程。但是,你是否曾经被告知 “简单地” 运行这些工具是正确的做法,或被误导着相信使用这些工具是毫不费力的呢?
实际上,这种安利做法是有问题的。以下是一些原因:
1. 语言不能成为学习的障碍
Python 是一种被称为 “易学易用” 的编程语言,但仍然存在失落和阻碍。在这个阶段,“简单化” 这个教学原则变得异常重要。使用这些工具本身并不困难,但如果一个人不理解管理依赖和版本控制的基本原理,那么他们就会错过一个重要的学习机会。
2. 工具本身也是令人困惑的
每个“简单” 工具都包含不少于 30 个命令和选项。对于大多数开发者而言,这样的语言和工具确实就像一个陌生地球上的语言和文化。要读取所有帮助文档和 API 文档实属不易。如果您没有足够的背景知识,在使用这些工具时可能会轻易感到目不暇接。
3. 在多平台环境下工作不稳定
这些工具完全依赖于代码库和环境变量。有时在不同的操作系统之间使用这些工具会导致版本不稳定的结果。例如,在 MacOS 和 Windows OS 上,安装 Jupyter Notebook 的命令会有所不同。因此,任何依赖这些产品的多平台的项目都面临着风险。
4. 管理版本和依赖关系必须是专业开发过程中的一部分
专业开发者熟悉不同的工具和技术,而这些工具和技术要么直接针对版本和依赖关系,要么是依赖于它们。他们将使用这些技术来确保项目和代码库之间的清晰沟通。傻瓜化和简化这一过程将削弱专业开发者的优势,限制了进一步的技术成长。
最后,我们认为“简单”的答案不是正确的答案。对于任何需要管理版本和依赖关系的 Python 项目,pyenv、poetry 或 anaconda 只是掌握技能集的一部分。更重要的是,开发者需要正确的知识、背景和专业经验才能运用好这些工具。如果您真的想成为一个专业 Python 开发者,请花时间掌握这些技能,不要追求简单。
了解更多有趣的事情:https://blog.ds3783.com/