У меня проблемы с получением пакета reticulate
в R.
Он не может найти общий файл LIBPYTHON
, который ему нужен, независимо от того, какую версию Python я загрузил через module load
или какую версию я говорю reticulate
использовать, непосредственно в R.
Я работаю над кластером universty, в котором установлено несколько версий Python и которые загружаются через модули.
Спасибо за помощь.
a) Использование версии 2.7.9(версия по умолчанию от module load CBC
):
> reticulate::py_discover_config()
python: /opt/Python/Python-2.7.9/bin/python
libpython: /opt/Python/Python-2.7.9/lib/libpython2.7.so[NOT FOUND]
pythonhome: /opt/Python/Python-2.7.9:/opt/Python/Python-2.7.9
version: 2.7.9 (default, Apr 23 2015, 22:07:47) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]
numpy: /opt/Python/Python-2.7.9/lib/python2.7/site-packages/numpy
numpy_version: 1.9.2
b) Использование версии 2.7.10 с указанием в R значения для reticulate
:
> reticulate::use_python("/opt/Python/Python-2.7.10/bin/python2")
> reticulate::py_discover_config()
/opt/Python/Python-2.7.10/bin/python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
Error in system2(command = python, args = paste0("\"", config_script, :
error in running command
c) Использование версии 2.7.10запустив module load CBC python/2.7.10
перед запуском R / loading reticulate
:
> system("which python")
/opt/Python/Python-2.7.10/bin/python
> library(reticulate)
> py_discover_config()
'import site' failed; use -v for traceback
Traceback (most recent call last):
File "/home/csandoval/R/x86_64-pc-linux-gnu-library/3.5/reticulate/config/config.py", line 3, in <module>
import os
File "/opt/Python/Python-2.7.10/lib/python2.7/os.py", line 400, in <module>
import UserDict
File "/opt/Python/Python-2.7.10/lib/python2.7/UserDict.py", line 84, in <module>
_abcoll.MutableMapping.register(IterableUserDict)
File "/opt/Python/Python-2.7.10/lib/python2.7/abc.py", line 109, in register
if issubclass(subclass, cls):
File "/opt/Python/Python-2.7.10/lib/python2.7/abc.py", line 184, in __subclasscheck__
cls._abc_negative_cache.add(subclass)
File "/opt/Python/Python-2.7.10/lib/python2.7/_weakrefset.py", line 86, in add
self.data.add(ref(item, self._remove))
TypeError: cannot create weak reference to 'classobj' object
Error in python_config(python_version, required_module, python_versions) :
Error 1 occurred running /usr/bin/python
In addition: Warning message:
In system2(command = python, args = paste0("\"", config_script, :
running command ''/usr/bin/python' "/home/csandoval/R/x86_64-pc-linux-gnu-library/3.5/reticulate/config/config.py"' had status 1
Файлы общих библиотек (.so
), кажется, существуют, по крайней мере, для 2.7.10, поэтому я нахожусь вполная потеря относительно того, что попробовать дальше:
> locate 'libpython2'
/opt/Python/Python-2.7.10/lib/libpython2.7.so
/opt/Python/Python-2.7.10/lib/libpython2.7.so.1.0
/opt/Python/Python-2.7.10/lib/python2.7/config/libpython2.7.a
/opt/Python/Python-2.7.3/lib/libpython2.7.a
/opt/Python/Python-2.7.3/lib/python2.7/config/libpython2.7.a
/opt/Python/Python-2.7.4/lib/libpython2.7.a
/opt/Python/Python-2.7.4/lib/python2.7/config/libpython2.7.a
/opt/Python/Python-2.7.9/lib/libpython2.7.a
/opt/Python/Python-2.7.9/lib/python2.7/config/libpython2.7.a
/opt/local/lib/libpython2.6.a
/opt/local/lib/libpython2.6.a.old
/opt/local/lib/python2.6/config/libpython2.6.a
/opt/local/lib/python2.6.old/config/libpython2.6.a
/opt/scyld/python/2.6.5/lib/libpython2.6.so
/opt/scyld/python/2.6.5/lib/libpython2.6.so.0.1
/opt/scyld/python/2.6.5/lib/python2.6/config/libpython2.6.a
/usr/cellprofiler/lib/libpython2.7.so
/usr/cellprofiler/lib/libpython2.7.so.1.0
/usr/cellprofiler/lib/python2.7/config/libpython2.7.a
/usr/lib64/libpython2.6.so
/usr/lib64/libpython2.6.so.1.0
/usr/lib64/python2.6/config/libpython2.6.so
/usr/share/systemtap/tapset/libpython2.6-64.stp