nat*_*rus 5 python r virtualenv reticulate
我已经为我的 python 需求设置了一个预先存在的虚拟环境,D:/SC/venv。我正在尝试将数据从 pickle 导入到 RStudio 中。我认为为了做到这一点,我需要运行一个 python 脚本来使用 reticulate 读取 RStudio 中的 pickle。但是,当我运行时:
use_virtualenv("D:/SourceControl/sportsenv")
path_to_python <- "D:/SourceControl/sportsenv"
use_python(path_to_python)
source_python("pickle_reader.py")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
Error in py_run_file_impl(file, local, convert) :
ModuleNotFoundError: No module named 'pandas'
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
所以我猜它还没有识别出我的虚拟环境。
刚刚遇到了同样的问题,我想我找到了解决方法。尽管在 Windows 上,reticulate 默认为全局 Python 可执行文件,但您可以强制它指向虚拟环境中的 Python 可执行文件。以下示例在名为foo
at~/.venv/foo/
且安装了 pandas 的虚拟环境中启动 Python REPL。
# 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5191 次 |
最近记录: |