web-dev-qa-db-ja.com

apt-installedパッケージも存在する場合、pip3-installed python 3パッケージを使用しますか?

Numpy 1.8.2を/ usr/lib/python3/dist-packages(apt経由)にインストールし、最新バージョン(1.9.2)を/usr/local/lib/python3.4/dist-packages(経由)にインストールしています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]: <module 'numpy.version' from '/usr/lib/python3/dist-packages/numpy/version.py'>

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バージョンをアンインストールすることはできません。

6
naught101

このブログ投稿では、この背後にあるコードロジックを非常によく説明しています。 https://leemendelowitz.github.io/blog/how-does-python-find-packages.html

引用:

ドキュメントが説明しているように、sys.pathは現在の作業ディレクトリ、PYTHONPATH環境変数にリストされたディレクトリ、サイトモジュールによって制御されるインストール依存のデフォルトパスを使用して生成されます。

2
Lucas Cimon