这是最Python的:经由包管理器安装Python模块(MacPorts的,APT)或经由PIP / easy_install的/ setuptools的

StackOverflow https://stackoverflow.com/questions/1559372

一般我倾向于经由包管理器安装的东西,为unixy东西。然而,当我编程了很多的Perl的,我会用CPAN,新版本和所有。

在一般情况下,我通过使用它自己的包管理器安装通过包管理系统的东西,和语言的东西(GEM / easy_install的| PIP / CPAN)

现在使用python为主,我想知道最好的做法是什么呢?

有帮助吗?

解决方案

在系统蟒版本和它的库常在分配使用的软件。只要作为你的分布,比使用分发包会工作得很好,你所使用的软件很高兴与蟒蛇的相同版本和所有的库。

不过,很多时候,你需要包装的开发版本,或更新版本,或旧的版本。然后它不工作了。

因此,通常特别建议安装您用于开发自己的Python版本,并创建的扩建的virtualenv 或两者,以隔离系统Python和开发环境彼此。

其他提示

有两个完全相对的阵营:一个有利于系统提供的包,并且一个有利于单独安装的。我个人在“系统包”阵营。我会从下面每一侧提供的参数。

Pro系统包:系统打包已经关心的依赖,并与整个系统的政策(如文件布局)合规性。系统软件包提供的安全更新,同时还关心不破坏兼容性 - 所以他们有时反向移植安全修复上游作者并未反向移植。系统软件包是“安全的” WRT。系统升级:系统升级后,你可能也有一个新的Python版本,但所有的Python模块仍然存在,如果它们来自系统打包。这与Debian的所有个人经验。

精读系统包:不是所有的软件可以被提供为系统包,或不在最新版本;安装填充自己到系统可能会破坏系统的软件包。升级可能会破坏您的应用程序。

临单独安装:有些人(尤其是Web应用程序开发者)认为,你绝对需要一个重复的设置,只有你想要的,以及从系统的Python完全解耦的软件包。这超出了自行安装与系统软件包,因为即使是自行安装,你还是可能会修改系统蟒;与单独安装,你不会的。作为伦纳特讨论,现在有专门的工具链支持这一设置。人们认为,只有这种方式能够保证可重复的结果。

精读单独安装:你需要处理的bug修复你自己,你需要确保所有用户使用单独安装。在Web应用程序的情况下,后者通常是容易实现的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top