RStudio menemukan instalasi Python pyenv, tetapi saya tidak dapat menjalankan proses Python

Oct 03 2020

Saya mencoba menjalankan Python di RStudio. Saya telah menginstal Python 3.8.5 melalui pyenv, dan membuat lingkungan virtual dengan pyenv virtualenv (yang saya sebut venv-Rstudio) di folder proyek RStudio saya. Berdasarkan instruksi yang diberikan di sini , saya rasa saya telah berhasil menunjukkan dengan benar ke RStudio lingkungan Python mana yang akan digunakan:

>Sys.setenv(RETICULATE_PYTHON="/Users/my_username/.pyenv/versions/venv-Rstudio/bin/python")
> py_discover_config()
python:         /Users/my_username/.pyenv/versions/3.8.5/envs/venv-Rstudio/bin/python
libpython:      [NOT FOUND]
pythonhome:     /Users/my_username/.pyenv/versions/3.8.5:/Users/my_username/.pyenv/versions/3.8.5
version:        3.8.5 (default, Oct  1 2020, 21:50:37)  [Clang 12.0.0 (clang-1200.0.32.2)]
numpy:          /Users/my_username/.pyenv/versions/3.8.5/envs/venv-Rstudio/lib/python3.8/site-packages/numpy
numpy_version:  1.18.5

Saat mencoba memanggil Python, saya mendapatkan kesalahan berikut:

> py_config()
Error: Python shared library not found, Python bindings not loaded.
Use reticulate::install_miniconda() if you'd like to install a Miniconda Python environment.

Saya menduga ini ada hubungannya dengan yang libpython: [NOT FOUND]terlihat di atas, tetapi saya telah memastikan libpython diinstal di lingkungan virtual venv-Rstudio:

(venv-Rstudio) my_username@MBP15 Rstudio % pip list
Package                Version
---------------------- ---------
...
Keras                  2.4.3
Keras-Preprocessing    1.1.2
libpython              0.2
Markdown               3.2.2
multidict              4.7.6
numpy                  1.18.5
...

Adakah ide apa yang mungkin saya lewatkan dan bagaimana cara memperbaikinya? Saya menjalankan macOS 10.15.7 Catalina, RStudio 1.3 dengan R versi 4.0.2.

Jawaban

1 gaspanic Oct 03 2020 at 00:12

Setelah memposting pertanyaan saya, pertanyaan ini muncul di daftar Terkait , dan jawaban oleh @nucholab ini memecahkan masalah saya. Singkatnya, menginstal ulang Python dengan pyenv menggunakan perintah berikut memungkinkan pustaka yang dapat dibagikan:

env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.8.5 

Setelah itu dan membuat ulang lingkungan virtual saya (dan sebagai catatan, menginstal numpy), memuat Python di RStudio berfungsi seperti yang diharapkan:

> py_config()
python:         /Users/my_username/.pyenv/versions/3.8.5/envs/venv-Rstudio/bin/python
libpython:      /Users/my_username/.pyenv/versions/3.8.5/lib/libpython3.8.dylib
pythonhome:     /Users/my_username/.pyenv/versions/3.8.5:/Users/andreas/.pyenv/versions/3.8.5
version:        3.8.5 (default, Oct  2 2020, 13:54:11)  [Clang 12.0.0 (clang-1200.0.32.2)]
numpy:          /Users/my_username/.pyenv/versions/3.8.5/envs/venv-Rstudio/lib/python3.8/site-packages/numpy
numpy_version:  1.19.2
tensorflow:     [NOT FOUND]

NOTE: Python version was forced by RETICULATE_PYTHON