我试图在Ubuntu机器上部署Django站点。我需要安装Psycopg2和PIL,但似乎我可以使用apt-get或使用pip来安装它们。这两种方法的安装有区别吗?我知道使用pip,我能够将它安装到虚拟环境中,但是apt-get它会安装在全局python环境中。
答案 0 :(得分:24)
您可能已经知道apt-get的好处。自动更新通知,需要这些工具的其他apt安装包知道它们已安装等等。
使用pip,您知道在安装时获得了最新版本,您可以安装到非默认版本的Python,并且可以安装到virtualenv。
如果您不需要pip为您提供的任何功能,并且您不必经常安装其他通过APT无法使用的Python软件包,请使用APT版本。
答案 1 :(得分:9)
此问题的大多数答案都错过了使用apt-get
的优势之一:
apt-get
已预编译,其安装比<{1}} 更快。
要安装numpy,matplotlib,pandas和其他与scipy相关的模块,pip
只需几秒钟; apt-get
可以轻松消耗10分钟。
如果您具有超级用户权限,并且不介意有点过时的版本,那么pip
就是快速&amp;无忧无虑的方式。
答案 2 :(得分:3)
我总是建议使用pip安装Python软件包,因为某些操作系统软件包管理器会自定义软件包,它可能会破坏或更改软件包的行为。
如果您需要全局安装软件包:
$ sudo pip install PACKAGE
它会尝试从PyPI或项目的链接下载您的软件包。
答案 3 :(得分:3)
你应该知道包管理器中的它经历了一些集成测试,而Pypi中的内容是未经测试的。
Pypi可以用于开发。
在制作中,您可以选择Pypi,但很快就会知道您可以始终依赖于包管理器中的内容......
答案 4 :(得分:0)
您应该使用哪个: apt-get和pip都是成熟的软件包管理器,它们会在安装时自动安装任何其他软件包依赖项。您可以随便使用任何人。但是,如果您需要安装特定版本的python-package或将其安装在virtualenv中,或者安装仅在PyPI上托管的软件包;只有一点可以帮助您解决该问题。否则,如果您不介意将软件包安装在系统范围内,则使用apt-get或pip都没有关系。
答案 5 :(得分:0)
我发现了一些有关此的东西。 我的ubuntu同时具有python 3.6和3.7版本。当apt安装python3-xxx时,xxx将安装在/ usr / lib / python3 / dist-packages中,而pip3将xxx安装在/usr/local/lib/python3.7(我的默认python版本)/ dist-packages中。当将python更改为版本3.6时,pip3安装的xxx无法正常工作,而apt安装的可以正常工作。