2016-04-29 72 views
1

我很困惑,如何处理python的模块。有多种安装软件包的方法。我目前使用三种方法。管理Python模块101

1)Linux发行

目前的软件包,许多最流行的模块/包,像IPython中,可以通过分配软件包管理器进行安装。这使我可以在系统中访问该包。我不必对我的PATH,用户访问权限做任何事情。它只是工作,直到现在,这是我最喜欢的方法。

2)PIP或畅达

至于开始使用包,这不是那个著名的,他们没有一个分发包。所以我必须在别处获得它们。到现在为止,如果我在发行版中找不到它,我可以使用pip来安装任何其他必要的软件包。 Conda是另一种选择。

我的问题:

什么是“最佳”方法。我的意思是在用户看来,所有可能性都完全一样。我想用一个,所以我不会感到困惑,但正如我所说的,并非所有的东西都可用。我现在被迫全部使用它们。这非常烦人,特别是在更新,冲突,用户权限和访问,路径变量等方面,甚至没有提到python 2.7和3.x“战争”。

那么你怎么做呢?你如何维护一个有很多不同包管理器的系统(即桌面)。你坚持只做pip/conda,为你自己安装一切(即你的主目录)吗?

+0

这是一个很好的问题,也是一个长期困扰Python(而且不仅仅是)的问题。但是这个问题不太适合Stack Overflow,因为它主要是基于观点的。对于什么是值得的,我认为你已经尽力做到了。 – Cyb3rFly3r

+0

是的,这是一个基于意见的,但我想听取意见,并从他们自己选择:) – hr0m

+0

不质疑你想要什么或你的权利问:它只是不符合[准则](http:///stackoverflow.com/help/how-to-ask)。 – Cyb3rFly3r

回答

2

Python的文档建议PIP安装蟒机型:

PIP是优选的安装程序。从Python 3.4开始,Python二进制安装程序默认包含它。

有关更完整的概述,请查看documentation on installing modules

在处理您提到的冲突方面,您应该使用虚拟环境,或者使用pyenvvirtualenv。虚拟环境允许您为不同的项目使用不同的模块或版本的模块。使用虚拟环境还允许您在其他地方(例如,在服务器上)复制该环境。