python - RStudio 发现 Python pyenv 安装,但我无法运行 Python 进程

标签 python r macos rstudio pyenv

我正在尝试在 RStudio 中运行 Python。我已经通过 pyenv 安装了 Python 3.8.5,并在我的 RStudio 项目文件夹中使用 pyenv virtualenv(我称之为 venv-Rstudio)创建了一个虚拟环境。根据给出的说明here ,我想我已经正确地向 RStudio 表明要使用哪个 Python 环境:

>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

尝试调用 Python 时,出现以下错误:

> 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.

我怀疑这与上面看到的 libpython: [NOT FOUND] 有关,但我已确保 libpython 安装在 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
...

有什么想法我可能会遗漏什么以及如何解决这个问题吗?我正在运行 macOS 10.15.7 Catalina、RStudio 1.3 和 R 版本 4.0.2。

最佳答案

发布我的问题后,this question出现在相关列表中,并且this answer @nucholab 解决了我的问题。简而言之,使用以下命令使用 pyenv 重新安装 Python 可启用可共享库:

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

在那之后重新创建我的虚拟环境(为了记录,安装 numpy),在 RStudio 中加载 Python 按预期工作:

> 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

关于python - RStudio 发现 Python pyenv 安装,但我无法运行 Python 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64174535/

相关文章:

python - Linux/Python : How can I hide sensitive information in a Python file, 使环境中的开发人员无法访问它?

python - 如何使用列表理解使嵌套列表的长度等于列表中数字的值?

Python:仅使用字典中的某些键进行for循环

r - 以编程方式检测 ggplot2 对象上 `theme()` 函数的属性是否已设置为 `element_blank()`

r - 在 y 轴上绘制两个变量

macos - 如何在后台运行 NSTask 并在运行时在模态 NSWindow 中显示结果

python - 使用 matplotlib 绘制 RGB 值

r - 计算特定单词的使用次数

macos - Mac 10.10.5 抛出错误 sudo : gpasswd: command not found

c - EVP_get_cipherbyname 始终返回 null