问题描述
我正在尝试为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
这样可以避免污染网站安装的pip
和easy_install
。最后,我将$HOME/.local/bin
添加到我的路径中。现在我可以运行pip3.3
!