关于这个问题的不同方面的许多帖子,但我还没有看到一篇将所有内容整合在一起的帖子。
首先是一个主观的陈述:当我们离开解释器并开始处理部署问题时,我们在使用 Python 语言时所体验到的简单性似乎被粉碎了。如何最好地在同一台机器上拥有多个版本的 Python?软件包应该安装在哪里?Disutils vs. setuptools vs. pip 等。在部署方面,Python 的 Zen 似乎被严重滥用了。我感觉到 Windows 上的“DLL 地狱”体验令人毛骨悚然。
专家们是否就这些问题达成了某种程度的最佳实践?
您是否在同一台机器上运行多个版本的 Python?您如何保持对它们可以共存的信心——并且新版本不会破坏其他依赖于早期版本(例如操作系统供应商提供的脚本)的进程的假设?这安全吗?virtualenv 够用吗?
本地文件系统上 Python 环境的不同组件(包括 3rd 方包)的位置的最佳选择是什么?许多不同版本的 Unixy 和 Windows 操作系统的位置之间是否存在严格或粗略的对应关系?
还有沼泽中最阴暗的角落——你使用什么安装工具(setuptools、distutils、pip 等),它们是否能很好地满足你的选择:文件位置、Python 虚拟环境、Python 路径等。
这些听起来像是很难的问题。我希望经验丰富的 Pythonistas 可能已经为这些挑战定义了一种(或两种)规范方法。任何“挂在一起”作为一个可以放心使用的系统的方法(感觉不像是单独的、不相关的工具)都会非常有帮助。