【发布时间】:2022-11-09 05:48:40
【问题描述】:
这就是我正在做的事情:
- 我有一个使用 blogdown 呈现 .Rmd 文件的博客。
- 博客中的一些代码 sn-ps 是 Python 的。我为此使用
reticulate。 - 我正在使用 GitHub 工作流来构建和发布博客作为更大网站的一部分。此工作流在
miniconda中设置环境和包依赖项。上一次运行是在六个月前。当时,它奏效了。现在,它没有。我似乎无法在本地复制该行为以进行更详细的调试。
它似乎试图将 mamba 命令放入
normalizePath而不是文件系统路径(www-main是存储库的名称):conda activate www-main Rscript -e 'blogdown::build_site(local=FALSE, run_hugo=FALSE, build_rmd="content/blog/2020-08-28-api.Rmd")' shell: /usr/bin/bash -l {0} env: CONDA_PKGS_DIR: /home/runner/conda_pkgs_dir Rendering content/blog/2020-08-28-api.Rmd... [...] Quitting from lines 401-410 (2020-08-28-api.Rmd) Error in normalizePath(conda, winslash = "/", mustWork = TRUE) : path[1]="# cmd: /usr/share/miniconda/condabin/mamba update --name www-main --file /home/runner/work/www-main/www-main/conda": No such file or directory Calls: local ... python_munge_path -> get_python_conda_info -> normalizePath Execution halted Error: Failed to render content/blog/2020-08-28-api.Rmd Execution halted2020-08-28-api.Rmd的第 401-410 行是 Python 代码块:400 ```{python python-data, dev='svg'} 401 import covidcast 402 from datetime import date 403 import matplotlib.pyplot as plt 404 405 data = covidcast.signal("fb-survey", "smoothed_hh_cmnty_cli", 406 date(2020, 9, 8), date(2020, 9, 8), 407 geo_type="state") 408 covidcast.plot_choropleth(data, figsize=(7, 5)) 409 plt.title("% who know someone who is sick, Sept 8, 2020") 410 ```conda info输出的有用位,以防有帮助:active environment : www-main active env location : /usr/share/miniconda/envs/www-main shell level : 1 user config file : /home/runner/.condarc populated config files : /home/runner/.condarc conda version : 4.12.0 conda-build version : not installed python version : 3.9.12.final.0 virtual packages : __linux=5.15.0=0 __glibc=2.31=0 __unix=0=0 __archspec=1=x86_64 base environment : /usr/share/miniconda (writable) conda av data dir : /usr/share/miniconda/etc/conda conda av metadata url : None channel URLs : https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /home/runner/conda_pkgs_dir envs directories : /usr/share/miniconda/envs /home/runner/.conda/envs platform : linux-64 user-agent : conda/4.12.0 requests/2.27.1 CPython/3.9.12 Linux/5.15.0-1020-azure ubuntu/20.04.5 glibc/2.31 UID:GID : 1001:121 netrc file : None offline mode : False- 我找到了这个,但他们的解决方法对我来说没有意义,因为我没有使用造纸厂:https://github.com/rstudio/reticulate/issues/1184
- 我找到了这个,但我的路径没有空格:https://github.com/rstudio/reticulate/issues/1149
- 我发现了这个,但他们的问题包括
path[1]的一个完全合理的值,与我的不同:How can I tell R where the conda environment is via a docker image?
为此的构建环境有点难,但如果需要,我可能可以组合一个最小工作(/非工作)示例,lmk
【问题讨论】:
标签: anaconda r-markdown github-actions blogdown reticulate