如果我在 OSX (Snow Leopard) 上学习 python 开发,我应该如何最好地管理我的 python 包?
我对那里有大量优秀的 python 包感到非常兴奋。我很想开始学习它们,但是包管理让我完全糊涂了。显然我不知道我在做什么。我在 Stack Overflow 上看到很多关于包管理的问题,人们经常这样回答:“你为什么不直接使用x?看看我从 shell 复制的这一行是多么容易,”
$ x install something
在x无法处理某些特定依赖项或无法处理包y之前,这是一个很好的答案。这是我已经尝试过的:
- 我刚开始只是用easy_install安装东西。
- 我很快发现一些重要的包缺少依赖项(PIL),所以我四处寻找并发现了MacPorts。
- 我开始使用 MacPorts 并且我的所有环境变量都变得非常混乱,所以我学会了足够的 bash 来重新配置
PATH
,PYTHONPATH
和sys.path
让事情正常工作(并使我的终端窗口看起来很漂亮)。MacPorts 有一段时间似乎很棒。 - 但后来我对我使用的不同模块的哪个版本感到困惑,我发现了更多的依赖问题(GDAL)......
- 然后几个非常聪明的人强烈推荐我改用Homebrew。所以我卸载了 MacPorts 并安装了 Homebrew。
- 现在我有了 Homebrew,我似乎无法安装很多东西,因为我不知道如何为我想使用的大多数 python 包创建公式。如果在pypi列出了一个包,我不知道我是否应该实际使用 Homebrew,或者只是弄清楚如何配置 easy_install 以安装到 Homebrew 目录。而且我仍然不知道我应该如何最好地处理丢失的依赖项。也许有一些与 python 相关的公式的秘密存储库?或将端口文件转换为公式的简单方法?
我知道正确的答案可能取决于我要安装的内容。我正在尝试安装允许我的软件包集:
- 使用 python 玩转一切并自动化一切
- 应用脚本
- 太平船务
- 游戏
- 用python做GIS相关工作
- 格达尔
- 匀称
- 地理信息系统
- scipy
- 探索网络应用的奇妙可能性
- django
- 谷歌应用引擎
我完全愿意擦掉我机器上的所有东西,现在它肯定有点杂乱无章的包裹碎片。如果我应该学习virtualenv,或者只是学习更多关于检查依赖项并自己安装它们的基本过程,我很乐意这样做。如果我应该深入研究 Homebrew,我也很乐意这样做。我应该如何处理这些问题,这些问题通常会阻止我做我真正想做的事情(用 python 制作整洁的东西)?