我一直试图通过R网运行一些python代码,但没有成功。我尝试创建一个虚拟环境并在其中安装两个包: numpy和一个名为scrublet的GitHub包。
library(reticulate)
if(!"r-scrublet" %in% virtualenv_list()) {
virtualenv_create("r-scrublet")
virtualenv_install("r-scrublet", c("numpy","git+https://github.com/AllonKleinLab/scrublet.git"))
}
use_virtualenv(virtualenv = "r-scrublet", required = T)然后我想激活环境并在其上运行代码。当我运行py_discover_config()时,会得到输出:
python: C:/Users/gilad/Documents/.virtualenvs/r-scrublet/Scripts/python.exe
libpython: C:/Users/gilad/Documents/.virtualenvs/r-scrublet/Scripts/python36.dll
pythonhome: C:/Users/gilad/Documents/.virtualenvs/r-scrublet
version: 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)]
Architecture: 64bit
numpy: C:/Users/gilad/Documents/.virtualenvs/r-scrublet/Lib/site-packages/numpy
numpy_version: 1.19.1
NOTE: Python version was forced by use_python function这似乎是我想要的。问题是我似乎无法真正使用这个环境。如果我测试是否有numpy可用(py_numpy_available()),则不会得到,并且当我尝试任何import语句时(无论是对一个已安装的软件包,甚至是对类似于os的程序包),R都会崩溃:
R会话中止。R遇到一个致命的错误。会议结束
发布于 2020-08-02 17:18:52
从您提供的安装路径来看,您似乎在使用Windows。
如果您指的是virtualenv doc:
Windows不支持虚拟环境函数(建议在Windows上使用conda环境 )。
尝试:
library(reticulate)
conda_create("r-scrublet")
conda_install(envname="r-scrublet", packages ="numpy","pip","git")
conda_python(envname = "r-scrublet")可以通过从scrublet.git环境根文件夹中运行来添加r-scrublet:
Scripts\pip install git+https://github.com/AllonKleinLab/scrublet.git或直接来自R:
conda_install(envname='r-scrublet','git+https://github.com/AllonKleinLab/scrublet.git',pip=T)只要您应用此补丁。为了避免修补程序,您可能可以将\r-scrublets\Library\bin添加到系统路径中。
为了实现代码片段的完整性,一旦安装就绪,请通过以下方式指定它的用途:
use_miniconda("r-scrublet", required=T)
scrub <- import("scrublet")https://stackoverflow.com/questions/63148490
复制相似问题