【问题标题】:How to get reticulate to access virtual environment如何获得网状访问虚拟环境
【发布时间】:2020-04-30 01:50:23
【问题描述】:

我已经为我的 python 需求设置了一个预先存在的虚拟环境,D:/SC/venv。我正在尝试将数据从泡菜导入 RStudio。我收集到,为了做到这一点,我需要运行一个 python 脚本来使用 reticulate 在 RStudio 中读取泡菜。但是,当我运行时:

use_virtualenv("D:/SourceControl/sportsenv")
path_to_python <- "D:/SourceControl/sportsenv"
use_python(path_to_python)
source_python("pickle_reader.py")

我收到以下错误消息:

Error in py_run_file_impl(file, local, convert) : 
  ModuleNotFoundError: No module named 'pandas'

Pandas 已安装,可直接与 python 一起使用。我认为这是设置虚拟环境的问题,因为当我运行 py_config() 我得到:

> py_config()
python:         C:/Program Files/Python37/python.exe
libpython:      C:/Program Files/Python37/python37.dll
pythonhome:     C:/Program Files/Python37
version:        3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)]
Architecture:   64bit
numpy:          C:/Users/.../AppData/Roaming/Python/Python37/site-packages/numpy
numpy_version:  1.17.4

所以我猜它没有识别我的虚拟环境。

【问题讨论】:

  • pandas 是全局安装还是安装在 virtualenv 中?
  • 只是在虚拟环境中
  • 您是在 Windows 机器上吗?据此,Windows 不支持虚拟环境功能,因此您可能需要尝试 conda。 rstudio.github.io/reticulate/reference/virtualenv-tools.html 您也可以尝试virtualenv_list() 来获取可用虚拟环境的列表。
  • 啊,可能是这样,谢谢。我试试看。

标签: python r virtualenv reticulate


【解决方案1】:

刚刚遇到同样的问题,并认为我找到了解决方法。尽管在 Windows 上,reticulate 默认为全局 Python 可执行文件,但您可以强制它指向虚拟环境中的 Python 可执行文件。以下示例在名为 foo 的虚拟环境中启动 Python REPL,该虚拟环境位于 ~/.venv/foo/,并安装了 pandas。

# Force reticulate to look for virtual env. Python executable
Sys.setenv("RETICULATE_PYTHON" = "~/.venv/foo/Scripts/python.exe")

# Launch REPL per usual
reticulate::repl_python()
#> Python 3.9.7 (C:/Users/DanielMolitor/Documents/.venv/foo/Scripts/python.exe)
#> Reticulate 1.22 REPL -- A Python interpreter in R.
#> Enter 'exit' or 'quit' to exit the REPL and return to R.
>>> import pandas
>>> pandas.DataFrame({'a': [1, 2, 3], 'b': [2, 3, 4]})
>>>    a  b
>>> 0  1  2
>>> 1  2  3
>>> 2  3  4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    • 2020-01-29
    • 2014-06-15
    • 2022-11-12
    • 1970-01-01
    相关资源
    最近更新 更多