RStudio:将virtualenvs设置为特定路径

时间:2018-12-24 20:41:22

标签: r rstudio reticulate

因此,我将有各种需要获取python脚本的项目。

据我了解,网状pkg可以帮助我们在RStudio中使用virtualenvs。

virtualenv_list()将返回virutalenvs的可用名称。

但是,因为我已经拥有一个包含所有虚拟环境的文件夹,所以我想使用它而不是默认文件夹:

来自:https://rstudio.github.io/reticulate/reference/virtualenv-tools.html

  

默认情况下,虚拟环境位于〜/ .virtualenvs。您可以   通过定义WORKON_HOME环境变量来更改此行为。

如何定义WORK_HOME变量?

我具有不同virtualenvs的文件夹的路径:

/home/gonzales/Escritorio/virtual_envs

我的虚拟环境之一的路径:

/home/gonzales/Escritorio/virtual_envs/stickers-gallito-env/

我找到了以下代码来找到要运行的RProfile:

> candidates <- c( Sys.getenv("R_PROFILE"),
+                  file.path(Sys.getenv("R_HOME"), "etc", "Rprofile.site"),
+                  Sys.getenv("R_PROFILE_USER"),
+                  file.path(getwd(), ".Rprofile") )
> 
> Filter(file.exists, candidates)
[1] "/usr/lib/R/etc/Rprofile.site" "/home/gonzales/.Rprofile"  

如果我使用以下命令编辑Rprofile.R

file.edit("/home/gonzales/.Rprofile")

然后保存更改:

WORKON_HOME = "/home/gonzales/Escritorio/virtual_envs/"

然后尝试:

library(reticulate)

virtualenv_list()

我会得到:

character(0)

为什么不起作用?

> sessionInfo()
R version 3.4.4 (2018-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.1 LTS

Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1

locale:
 [1] LC_CTYPE=es_PE.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=es_PE.UTF-8        LC_COLLATE=es_PE.UTF-8    
 [5] LC_MONETARY=es_PE.UTF-8    LC_MESSAGES=es_PE.UTF-8   
 [7] LC_PAPER=es_PE.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=es_PE.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

loaded via a namespace (and not attached):
[1] compiler_3.4.4 tools_3.4.4    yaml_2.2.0 

1 个答案:

答案 0 :(得分:0)

有关在ubuntu中设置环境变量的不同方法,请参见https://askubuntu.com/questions/730/how-do-i-set-environment-variables

将以下内容添加到/ etc / environment:WORKON_HOME="/home/gonzales/Escritorio/virtual_envs",然后注销并再次登录。

然后运行virtualenv_list()应该列出您在该位置拥有的虚拟环境。