当前位置: 首页>>技术教程>>正文


如何在ubuntu 12.04 LTS中安装python 3的pip

, ,

问题描述

我正在尝试为python 3.3安装Pillow模块,但为此我需要安装pip。每次我安装pip时,它都会安装python 2.7,有什么帮助?

最佳解决思路

在更现代的Ubuntu版本中,您可以只使用sudo apt-get install python3-pip(然后使用pip3),但pip的Python 3副本从未打包过12.04版本。

因此,您需要遵循easy_install更老的安装路线:

sudo apt-get install python3-setuptools
sudo easy_install3 pip

现在,这有可能会与Python 2的pip发生冲突并覆盖/usr/bin/pip,因为它将安装基于python3的/usr/local/bin/pip,它也位于Ubuntu 12.04的$ PATH中。

只要你知道,它不应该覆盖它,它可能是可以接受的。不过,最好开始调查virtualenv的快乐世界this answer suggests

或者,您可以重命名easy-installed python3版本的pip:

sudo mv /usr/local/bin/pip /usr/local/bin/pip-3

然后你可以确认你现有的点子仍然是基于python2.7的:

pip --version

次佳解决思路

您也可以通过sudo apt-get install python3-pip安装它,然后通过pip3调用它。 Etvoilà

第三种解决思路

如果您在同一台机器上使用多个版本的python,则使用virtual environments可能会很有用。这允许你使用你想要的python实例,每个实例都有自己的一套软件包。如果您正在使用多个版本的python,并且/或者如果您的项目需要同一个包的不同版本,这非常有用。

设置这个:

sudo pip install virtualenv 

这可以通过任何点来完成,所以使用Python 2.7的标准点也是如此。然后,用python3作为解释器创建一个虚拟环境,执行:

virtualenv my_py3 --python=/usr/bin/python3
source my_py3/bin/activate # to activate the python3 environemt

然后安装您可能需要使用的任何软件包

pip install <package> # no sudo required now, as you're IN the virtual environment

要停止虚拟环境,简单类型:

deactivate

第四种思路

在使用Ubuntu 12.04的PPA安装python 3.3后,我使用以下命令在本地安装了easy_install 3.3

wget http://python-distribute.org/distribute_setup.py
python3.3 -m distribute_setup install --user
easy_install-3.3 --user pip

这样可以避免污染网站安装的pipeasy_install。最后,我将$HOME/.local/bin添加到我的路径中。现在我可以运行pip3.3

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/638.html,未经允许,请勿转载。