2017-02-17 24 views
0

Я работаю над мощным кластером, работающим на Red Hat Enterprise Linus - 6+.Python импортирует обновленную библиотеку из другого каталога, когда родительский каталог уже имеет старую версию этой библиотеки

Мне нужно импортировать библиотеку (Say Tensorflow) из другого каталога, но главная директория уже содержит более старую версию тензорного потока.

Структура -

I Don't have Admin privileges for these libraries 

Anaconda-directory 
|--- tensorflow 0.7 
|--- other libraries which I need 

Other Directory 
|--- tensorflow 0.11 

My Home Directory (I have privileges here) 
Local directory of anaconda 
|--- Keras 

Таким образом, мне нужно использовать Anaconda-каталог, но я хочу использовать обновленную версию tensorflow (0.11), и я также хочу использовать Keras.

я попытался следующие команды -

METHOD - 1 
# Load Anaconda module 
module load apps/anaconda/4.1.1/gnu 
# Has tensorflow 0.7 installed 
jupyter notebook 
--> Works, but with tensorflow 0.7 (Which is incompatible with keras) 

METHOD - 2 
# Load new version of tensorflow 
# It automatically python module located at compiler/python/2.7.10/compilervars along with CUDAnn and others 
module load apps/tensorflow/0.11/gnu 

# Point to my local installation of anaconda where I have installed Keras 
export PYTHONPATH=/home/-path-to-my-home-dir/anaconda2/lib/python2.7/site-packages/:$PYTHONPATH 

echo $PYTHONPATH 
/home/-path-to-my-home-dir/anaconda2/lib/python2.7/site-packages/:/home/apps/TENSOR_GPU/0.11/gnu/lib/python2.7/site-packages/ 

--> Works well in python shell, but I want to use IPython Notebook 

jupyter notebook 
--> Doesn't work in Ipython Notebook, which I guess is due to the reason that it uses jupyter notebook from my home dir (Not an Admin) 


### WHAT I WANT ### 
Anaconda Distribution --> From Server Module Directory (Not my local Directory) 
Jypyter --> From above anaconda dist (Not my local anaconda dist) 
Tensorflow --> From another module (Newer Version) 
Keras --> Installed in my local anaconda distribution 

# Any Other additional packages 
# either not available on server (I can't install on server) 
# or older versions available 
# For such libraries, I should be able to use just that package 
# from my home directory (I can have anaconda installed on my home dir) 

ответ

0

Я хотел бы попробовать это.

  • Открыть ноутбук Jupyter.
  • import sys
  • sys.path[0:0] = ["/path/to/new/tensorflow"]
  • Импорт tensorflow, проверьте версию.
  • Импорт библиотеки из Анаконды.

Третий шаг может быть продлен до вашего вкуса, чтобы включить другие вещи с вашего обычного PYTHONPATH.

+0

Просто пробовал 'sys.path [0: 0] = [ "/home/apps/TENSOR_GPU/0.11/gnu/lib/python2.7/site-packages/tensorflow"]' Но до сих пор используют старую tensorflow версия 'tensorflow .__ version__ '0.7.1'' –

+0

' >>> sys.path' = '[' /home/apps/TENSOR_GPU/0.11/gnu/lib/python2.7/site-packages/tensorflow ',' ',' /home/apps/TENSOR_GPU/lib/python27.zip ',' /home/apps/TENSOR_GPU/lib/python2.7 ',' /home/apps/TENSOR_GPU/lib/python2.7/plat -linux2 ',' /home/apps/TENSOR_GPU/lib/python2.7/lib-tk ',' /home/apps/TENSOR_GPU/lib/python2.7/lib-old ','/home/apps/TENSOR_GPU/lib/python2.7/lib-dynload ',' /home/apps/TENSOR_GPU/lib/python2.7/site-packages ',' /home/apps/TENSOR_GPU/lib/python2.7/site-packages/Sphinx- 1.4.1-py2.7.egg ','/home /apps/TENSOR_GPU/lib/python2.7/site-packages/setuptools-23.0.0-py2.7.egg '] ' –

+0

Я могу только подозревать, что инициализация вашего ноутбука уже импортирует shadoworflow. Включает ли 'sys.modules.keys()' 'тензорный поток' 'в недавно открытом ноутбуке? BTW try 'reload (" tensorflow ")'; возможно, он перезагрузит его с нового пути. (Не то, чтобы мне хотелось такого подхода.) – 9000