Я только начал использовать пакет reticulate в R, и я все еще разбираюсь с некоторыми изгибами. В частности, не ладится импорт matplotlib. Я пробовал это двумя разными способами, с разными сообщениями об ошибках для каждого.
Во-первых, используя repl_python в интерактивной оболочке RStudio:
library(reticulate)
use_python('/home/craig/anaconda3/bin/python')
py_discover_config()
repl_python()
import matplotlib.pyplot as plt
Открывающаяся оболочка REPL Python, кажется, имеет правильную версию и все такое, но когда я пытаюсь импортировать matplotlib.pyplot, я вижу следующее:
ImportError: /lib/x86_64-linux-gnu/libz.so.1: версия `ZLIB_1.2.9' не найдена (требуется /home/craig/anaconda3/lib/python3.6/site-packages/matplotlib/../ ../.././libpng16.so.16)
Установка zlib (с использованием sudo apt-get install lib64z1-dev lib64z1
), похоже, ничего не изменила. FWIW, import matplotlib
работало нормально, пока мне не нужен pyplot
.
Я также пытался сделать то же самое в документе R Markdown:
```{r}
library(reticulate)
py_discover_config()
```
```{python}
import matplotlib.pyplot as plt
```
На этот раз я увидел:
Ошибка в py_get_attr_impl (x, имя, молчание): AtributeError: модуль «matplotlib» не имеет атрибута «pyplot».
Есть идеи, что здесь может происходить?
Спасибо!
ОБНОВЛЕНИЕ: Как я упоминал в комментариях, установка версии reticulate для разработчиков устраняет некоторые проблемы, но не все. Если я попытаюсь запустить этот Rmd:
```{r}
library(reticulate)
use_python('/home/craig/anaconda3/bin/python')
```
```{python}
import matplotlib.pyplot as plt
```
Я получаю следующие сообщения об ошибках:
Error in py_run_string_impl(code, local, convert) :
ImportError: /home/craig/anaconda3/lib/python3.6/site-packages/PyQt5/../../../libxcb-dri3.so.0: undefined symbol: xcb_send_request_with_fds
Detailed traceback:
File "<string>", line 1, in <module>
File "/home/craig/anaconda3/lib/python3.6/site-packages/matplotlib/pyplot.py", line 116, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/home/craig/anaconda3/lib/python3.6/site-packages/matplotlib/backends/__init__.py", line 60, in pylab_setup
[backend_name], 0)
File "/home/craig/anaconda3/lib/python3.6/site-packages/matplotlib/backends/backend_qt5agg.py", line 16, in <module>
from .backend_qt5 import (
File "/home/craig/anaconda3/lib/python3.6/site-packages/matplotlib/backends/backend_qt5.py", line 18, in <module>
import matplotlib.backends.qt_editor.figureoptions as figureoptions
File "/home/craig/anaconda3/lib/python3.6/site-packages/matplotlib/backends/qt_editor/figureoptions.py", line 20, in <module>
Calls: <Anonymous> ... force -> py_run_string -> py_run_string_impl -> .Call
Execution halted
Когда я попытался погуглить текст ошибки, мне показалась похожая ошибка с xcb. всплывать в контексте, который, насколько я могу судить, не так актуален.
matplotlib
, а неmatplotlib.pyplot
. Импортmatplotlib
без pyplot с использованиемrepl_python()
вместо R Markdown не дает ошибки. - person cjolley   schedule 11.04.2018repl_python()
, следуя приведенным здесь инструкциям: stackoverflow.com/questions/48306849/ - person cjolley   schedule 12.04.2018devtools::install_github("rstudio/reticulate")
немного помогает (т.е. теперь я могуimport matplotlib
без ошибки), но я все еще получаю ошибки, когда пытаюсьimport matplotlib.pyplot
. - person cjolley   schedule 12.04.2018