我最近升级为在 Ubuntu 16.04 上使用 Python 3.6。现在我在同一个系统上安装了 Python 2.7、3.5 和 3.6。我已经安装了 pip(默认为 v2.7)和 pip3(默认为 v3.5),然后根据此链接重新安装了 pip3:https://stackoverflow.com/a/44254088/3123703。
我现在正在安装用于新 Python 3.6 的所有库。但由于某种原因,pip3.6 正在检查 Python 3.5 文件夹中的库:
$ sudo pip3.6 install numpy
Requirement already satisfied: numpy in /usr/local/lib/python3.5/dist-packages
还:
$ pip3 --version
pip 9.0.1 from /home/<user>/.local/lib/python3.6/site-packages (python 3.6)
$ pip3.6 --version
pip 9.0.1 from /home/<user>/.local/lib/python3.6/site-packages (python 3.6)
有没有办法让 pip3.6 不查看 Python 3.5 文件夹?或者我必须完全卸载Python 3.5和Python 3.6并从头开始?
仅供参考,我并不是要求特定的包,因为 numpy 只是这里的一个示例。
答案1
突出显示您的问题:
有没有办法让 pip3.6 不查看 Python 3.5 文件夹?或者我必须完全卸载Python 3.5和Python 3.6并从头开始?
我建议不是安装几个不同的Python版本系统级别,而是使用 Python 专用工具。我使用 Anaconda,它非常适合科学计算。还存在其他工具。
如何从主目录使用 Python 安装
- 您将要使用的Python版本安装在单独的目录中(例如
~/anaconda3
) - 首先将 Python 安装中的二进制文件夹添加到
PATH
.
如何使用 Anaconda 处理多个 Python 版本
- 从以下位置安装 Minicondahttps://conda.io/miniconda.html
conda
通过将二进制安装文件夹添加到您的 shell 中,确保可以从您的 shell 中使用PATH
- 安装您想要的任何 Python 版本。稍后使用 -n 参数(
python2
或此处)引用它python3
。- Python 2:
conda create -n python2 python=2.7 anaconda
- Python 3:
conda create -n python3 python=3.6 anaconda
- Python 2:
activate
通过获取脚本 来切换Python版本- Python 2:
source activate python2
- Python 3:
source activate python3
- Python 2:
用法示例
teodorlu@XPS13 ~ % conda env list
# conda environments:
#
python2 /home/teodorlu/anaconda2/envs/python2
python3 /home/teodorlu/anaconda2/envs/python3
teodorlu@XPS13 ~ % source activate python2
teodorlu@XPS13 ~ % which python
/home/teodorlu/anaconda2/envs/python2/bin/python
teodorlu@XPS13 ~ % python
Python 2.7.13 |Anaconda 4.4.0 (64-bit)| (default, Dec 20 2016, 23:09:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import numpy as np
>>> np.__file__
'/home/teodorlu/anaconda2/envs/python2/lib/python2.7/site-packages/numpy/__init__.pyc'
>>>
teodorlu@XPS13 ~ % source activate python3
teodorlu@XPS13 ~ % which python
/home/teodorlu/anaconda2/envs/python3/bin/python
teodorlu@XPS13 ~ % python
Python 3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:09:58)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> np.__file__
'/home/teodorlu/anaconda2/envs/python3/lib/python3.6/site-packages/numpy/__init__.py'