У меня есть новая версия numpy под /opt/lib/python2.7/site-packages
и стандартная (системная) версия под /usr/lib/python2.7/dist-packages
. Я хочу, чтобы временно использовать новую версию Numpy поэтому я добавить следующую строку в начале моего сценария:python modifying sys.path не работает
In [1]: import sys
In [2]: sys.path.insert(1,'/opt/numpy/lib/python2.7/site-packages')
In [3]: sys.path
Out[3]:
['',
'/opt/numpy/lib/python2.7/site-packages',
'/usr/local/bin',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode',
'/usr/lib/python2.7/dist-packages/IPython/extensions']
Как ни странно это все еще загружает старую Numpy версию:
In [4]: import numpy as np
In [5]: np.__file__
Out[5]: '/usr/lib/python2.7/dist-packages/numpy/__init__.pyc'
ли кто-нибудь имеет ни малейшего представления о это?
Note1: Этот вопрос касается sys.path в python. Пожалуйста, не рекомендуем мне использовать virtualenv или изменять PYTHONPATH.
Примечание2: следующие файлы находятся под моей новой Numpy директории
$ ls /opt/numpy/lib/python2.7/site-packages
easy-install.pth numpy-1.11.0-py2.7-linux-x86_64.egg __pycache__ site.py site.pyc
* «Пожалуйста, не рекомендуют мне использовать virtualenv» * - почему нет? Это, как правило, самый простой способ управления средой dev с конкретными версиями ваших требований. – jonrsharpe
Какая среда вы используете, ноутбук Anaconda или IDE? –
@DeepakM это python и ipython под '/ usr/bin/python' и'/usr/local/bin/ipython' соответственно. –