是这样的,人们似乎最常推荐的是:
$ sudo apt-get install python-setuptools
$ sudo easy_install pip
$ sudo pip install virtualenv
或者这是我从http://www.pip-installer.org/en/latest/installing.html得到的:
$ curl -O https://github.com/pypa/virtualenv/raw/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install ...
还是完全不同的东西?
答案 0 :(得分:89)
如果您可以安装最新的Python(2.7.9及更高版本),Pip现在已与它捆绑在一起。
见:https://docs.python.org/2.7//installing/index.html
如果不是:
更新(来自发行说明):
从v1.5.1开始,pip在运行get-pip.py之前不需要setuptools。此外,如果尚未安装setuptools(或distribute),get-pip.py将为您安装setuptools。
我现在正常运行:
curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python
以下是官方安装说明: http://pip.readthedocs.org/en/latest/installing.html#install-pip
编辑2013年7月25日:
更改了setuptools安装的URL。
编辑2014年2月10日:
删除了setuptools安装(感谢@Ciantic)
编辑2014年6月26日:
再次更新了网址(感谢@LarsH)
编辑2015年3月1日:
Pip现在与Python捆绑在一起
答案 1 :(得分:21)
http://www.pip-installer.org/en/latest/installing.html确实是这个问题的规范答案。
具体来说,系统范围的说明是:
$ curl -O http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py
$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ python get-pip.py
问题中引用的部分是virtualenv
说明,而不是系统范围的说明。 easy_install
指令已存在更长时间,但不再需要这样做。
答案 2 :(得分:16)
这个答案来自Twitter上的@webology:
$ sudo apt-get install python-setuptools
$ sudo easy_install pip
$ sudo pip install --upgrade pip virtualenv virtualenvwrapper
我补充说明:
答案 3 :(得分:4)
在Ubuntu 12.04上,我使用包管理器好运:
sudo apt-get install python-pip virtualenvwrapper
答案 4 :(得分:3)
没有首选方法 - 一切都取决于您的需求。通常,无论出于何种原因,您都需要在系统上安装不同的Python解释器。在这种情况下,您需要为每个解释器单独安装这些东西。除此之外:我更喜欢自己安装东西,而不是依赖预先打包的东西,有时会导致问题 - 但这只是一种可能的选择。
答案 5 :(得分:3)
这个问题确实没有一个“答案”,但肯定有一些有用的概念可以帮助你做出决定。
在您的用例中需要回答的第一个问题是“我是否要使用Python系统?”如果你想使用随操作系统分发的Python,那么使用apt-get install方法可能就好了。但是,根据操作系统分发方法,您仍然需要提出更多问题,例如“我是否要安装此软件包的多个版本?”如果答案是肯定的,那么使用像apt这样的东西可能不是一个好主意。 Dpkg几乎只是解压缩文件系统根目录下的存档,因此由软件包维护者来确保软件包在很少的假设下安全地安装。在大多数debian软件包的情况下,我会假设(有人可以随时在此纠正我)他们只是解压并提供顶级软件包。
例如,假设包是“virtualenv”,你最终会得到/usr/lib/python2.x/site-packages/virtualenv
。如果您使用easy_install
安装它,那么/usr/lib/python2.x/site-packages/virtualenv.egg-link
可能会指向/usr/lib/python2.x/site-packages/virtualenv-1.2-2.x.egg
,可能是目录或压缩蛋。lib
。 Pip做了类似的事情,虽然它不使用鸡蛋,而是将顶级包直接放在dule_name.egg-link
目录中。
我可能不在路上,但重点是每种方法都考虑到不同的需求。这就是为什么像virtualenv这样的工具很有用的原因,因为它们允许您对Python库进行沙盒化,这样您就可以拥有所需的库和版本组合。
Setuptools还允许将软件包安装为多版本,这意味着没有创建单个mo __import__
。要导入这些包,您需要使用pkg_resources和{{1}}函数。
回到你原来的问题,如果你对系统python感到满意,并计划使用virtualenv和pip为不同的应用程序构建环境,那么使用apt-get在系统级安装virtualenv和/或pip似乎是完全合适的。但需要注意的是,如果您计划升级您的发行版Python,如果您链接回系统站点包,则可能会通过您的virtualenvs产生连锁反应。
我还应该提到,这些选项中没有一个本质上比其他选项更好。他们只是采取不同的方法。使用系统版本是安装Python应用程序的绝佳方法,但使用Python进行开发可能是一种非常困难的方法。简单的安装和安装工具在没有virtualenv的世界中非常方便,但是如果你需要使用相同库的不同版本,那么它也变得相当笨重。 Pip和virtualenv真的更像是一个虚拟机。您只需创建一个全新的环境,而不是注意并排安装。这里的缺点是30多个virtualenvs后来你可能已经耗尽了相当多的磁盘空间并且混乱了你的文件系统。
正如您所看到的,有很多选项很难说明使用哪种方法,但只要对您的用例进行一些调查,您就应该能够找到一种有效的方法。
答案 6 :(得分:3)
这样做:
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
pip install virtualenv
见
答案 7 :(得分:2)
由于virtualenvs默认包含pip,我几乎从不在全局安装pip。我所做的最终看起来更像是:
$ sudo apt-get install python-setuptools
$ curl -O http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py
$ sudo easy_install virtualenv
然后我按照自己的喜好继续安装和设置virtualenvwrapper,然后我就去了。看看Jeremy Avnet的virtualenv-burrito也是值得的:
答案 8 :(得分:2)
@ericholscher在Twitter上说,“官方文档中的那个......”
这是一个很好的观点,你应该做文档所说的。
引用http://www.pip-installer.org/en/latest/installing.html上的官方pip安装说明:
$ curl -O https://github.com/pypa/virtualenv/raw/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install ...
答案 9 :(得分:2)
从发行包开始,您可以使用:
sudo apt-get install python-virtualenv
可让您创建virtualenvs或
sudo apt-get install python{,3}-pip
允许您将任意包安装到您的主目录。
如果您已经习惯了virtualenv,第一个命令会为您提供所需的一切(请记住,pip是捆绑的,并将安装在您创建的任何虚拟环境中)。
如果您只想安装软件包,第二个命令可以满足您的需求。像这样使用点子:
pip install --user something
并添加类似
的内容PATH=~/.local/bin:$PATH
在~/.bashrc
。
如果你的发行版是古老的并且你根本不想使用它的包(可能除了Python本身),你可以下载virtualenv,作为tarball或作为一个独立的脚本:
wget -O ~/bin/virtualenv https://raw.github.com/pypa/virtualenv/master/virtualenv.py
chmod +x ~/bin/virtualenv
如果您的发行版更像是前沿类型,Python3.3具有内置的类似于virtualenv的能力:
python3 -m venv ./venv
这样运行速度更快,但不包括setuptools和pip。
答案 10 :(得分:2)
要在mac(osx)上安装pip,以下一个内容对我来说很有用:
sudo easy_install pip
答案 11 :(得分:1)
我使用get-pip和virtualenv-burrito安装所有这些。不确定是否需要python-setuptools。
# might be optional. I install as part of my standard ubuntu setup script
sudo apt-get -y install python-setuptools
# install pip (using get-pip.py from pip contrib)
curl -O https://raw.github.com/pypa/pip/develop/contrib/get-pip.py && sudo python get-pip.py
# one-line virtualenv and virtualenvwrapper using virtualenv-burrito
curl -s https://raw.github.com/brainsik/virtualenv-burrito/master/virtualenv-burrito.sh | bash
答案 12 :(得分:1)
答案 13 :(得分:1)
在Debian上,最好的方法是
sudo apt-get install python-pip
答案 14 :(得分:0)
前一种方法很好。我能看到的唯一问题是你可能最终得到一个旧版本的setuptools(如果apt存储库没有保持最新......