当apt-installed软件包存在时,使用pip3安装的python 3软件包?

我在/ usr / lib / python3 / dist-packages(通过apt)中安装了numpy 1.8.2,在/usr/local/lib/python3.4/dist-packages中安装了最新版本(1.9.2)(通过PIP)。 这两个路径都在sys.path中(按此顺序),但只有较旧的apt版本在python3中导入。

➜ ~ sudo pip3 install --upgrade numpy [sudo] password for naught101: Real name of requirement numpy is numpy Requirement already up-to-date: numpy in /usr/local/lib/python3.4/dist-packages Cleaning up... ➜ ~ ipython3 Python 3.4.0 (default, Apr 11 2014, 13:05:11) Type "copyright", "credits" or "license" for more information. IPython 1.2.1 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. In [1]: import numpy In [2]: numpy.version Out[2]:  In [3]: KeyboardInterrupt In [3]: numpy.version.version Out[3]: '1.8.2' In [5]: import sys In [6]: sys.path Out[6]: ['', '/usr/local/bin', '/usr/lib/python3/dist-packages', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages/IPython/extensions'] 

(python3在这里与ipython3做同样的事情)

如何让python3使用更新的版本?

我不能只卸载apt版本,因为其他软件包依赖它。

这篇博客文章很好地解释了这背后的代码逻辑: https : //leemendelowitz.github.io/blog/how-does-python-find-packages.html

引用它:

正如文档所解释的那样,sys.path使用当前工作目录填充,后跟PYTHONPATH环境变量中列出的目录,然后是依赖于安装的默认路径,这些路径由站点模块控制。