这是最Python的:经由包管理器安装Python模块(MacPorts的,APT)或经由PIP / easy_install的/ setuptools的
-
21-09-2019 - |
题
一般我倾向于经由包管理器安装的东西,为unixy东西。然而,当我编程了很多的Perl的,我会用CPAN,新版本和所有。
在一般情况下,我通过使用它自己的包管理器安装通过包管理系统的东西,和语言的东西(GEM / easy_install的| PIP / CPAN)
现在使用python为主,我想知道最好的做法是什么呢?
解决方案
在系统蟒版本和它的库常在分配使用的软件。只要作为你的分布,比使用分发包会工作得很好,你所使用的软件很高兴与蟒蛇的相同版本和所有的库。
不过,很多时候,你需要包装的开发版本,或更新版本,或旧的版本。然后它不工作了。
因此,通常特别建议安装您用于开发自己的Python版本,并创建的扩建或的virtualenv 或两者,以隔离系统Python和开发环境彼此。
其他提示
有两个完全相对的阵营:一个有利于系统提供的包,并且一个有利于单独安装的。我个人在“系统包”阵营。我会从下面每一侧提供的参数。
Pro系统包:系统打包已经关心的依赖,并与整个系统的政策(如文件布局)合规性。系统软件包提供的安全更新,同时还关心不破坏兼容性 - 所以他们有时反向移植安全修复上游作者并未反向移植。系统软件包是“安全的” WRT。系统升级:系统升级后,你可能也有一个新的Python版本,但所有的Python模块仍然存在,如果它们来自系统打包。这与Debian的所有个人经验。
精读系统包:不是所有的软件可以被提供为系统包,或不在最新版本;安装填充自己到系统可能会破坏系统的软件包。升级可能会破坏您的应用程序。
临单独安装:有些人(尤其是Web应用程序开发者)认为,你绝对需要一个重复的设置,只有你想要的,以及从系统的Python完全解耦的软件包。这超出了自行安装与系统软件包,因为即使是自行安装,你还是可能会修改系统蟒;与单独安装,你不会的。作为伦纳特讨论,现在有专门的工具链支持这一设置。人们认为,只有这种方式能够保证可重复的结果。
精读单独安装:你需要处理的bug修复你自己,你需要确保所有用户使用单独安装。在Web应用程序的情况下,后者通常是容易实现的。