Если у вас установлено несколько версий пакета, скажем, например, SciPy:
>>> import scipy; print(scipy.__version__); print(scipy.__file__)
0.17.0
/usr/lib/python3/dist-packages/scipy/__init__.py
, и вы хотите, чтобы версия, установленная пользователем (установлена, например, с помощью pip install --user --upgrade scipy
), была предпочтительна, нужно *Файл 1005 * usercustomize.py в ~/.local/lib/python3.5/site-packages/
, например, с таким содержимым:
import sys, os
my_site = os.path.join(
os.environ['HOME'], '.local/lib/python%d.%d/site-packages' % (
sys.version_info[0], sys.version_info[1]))
for idx, pth in enumerate(sys.path):
if pth.startswith('/usr'):
sys.path.insert(idx, my_site)
break
else:
raise ValueError("No path starting with /usr in sys.path")
(индекс выбора цикла for гарантирует, что пакеты, установленные в «режиме разработки», имеют приоритет), теперь мы получаем нашего пользователяконкретная версия SciPy:
>>> import scipy; print(scipy.__version__); print(scipy.__file__)
0.18.1
/home/user/.local/lib/python3.5/site-packages/scipy/__init__.py