使用 conda 构建和安装本地或自定义 R 包
Posted
技术标签:
【中文标题】使用 conda 构建和安装本地或自定义 R 包【英文标题】:Using conda to build and install local or custom R package 【发布时间】:2021-06-15 12:21:31 【问题描述】:我想将本地 R 包安装到 conda 环境中。该软件包不在 CRAN 或 github 上(也不在任何 conda 频道上)。 对于 CRAN 上的包,这相对简单:
conda skeleton cran <pckg>
conda-build r-<pckg>
conda install --use-local r-<pcgk>
对于 github 上的包,这同样适用:install R package from github using "conda"(除了一些需要标签的版本问题)。
conda skeleton cran <url>/<pcgk>
conda-build r-<pckg>
conda install --use-local r-<pcgk>
但是,我不能让它与本地包一起使用(使用R CMD build
构建包没有问题)。这是我尝试过的:
conda skeleton cran <path>/<pcgk>
连接到 cran,然后(当然)找不到包。
conda skeleton cran --cran-url <relative_path>/<pckg> <pckg>
抛出错误:
requests.exceptions.MissingSchema: Invalid URL '<relative_path>/<pckg>/src/contrib/': No schema supplied. Perhaps you meant http://<relative_path>/<pckg>/src/contrib/?
conda skeleton cran <absolute_path>/<pckg> <pckg>
投掷:
File "/home/myuser/.conda/envs/myenv/lib/python3.9/site-packages/conda_build/skeletons/cran.py", line 743, in package_to_inputs_dict
pkg_name = re.match(r'(.*)_(.*)', pkg_filename).group(1).lower()
AttributeError: 'NoneType' object has no attribute 'group'
最后:
conda skeleton cran --cran-url <absolute_path>/<pckg> <pckg>
投掷:
File "/home/myuser/.conda/envs/myenv/lib/python3.9/site-packages/requests/sessions.py", line 742, in get_adapter
raise InvalidSchema("No connection adapters were found for !r".format(url))
requests.exceptions.InvalidSchema: No connection adapters were found for '<absolute path>/<pckg>/src/contrib/'
这对 conda 来说是不可能的吗?还是我搞错了?
Here有人尝试自己编写本地包的骨架文件,但似乎没有成功。
【问题讨论】:
【参考方案1】:如果您可以将您的 R 包上传到您的私有 github 存储库,那么您可以继续使用常见的conda skeleton cran <github_pckg_http_or_ssh>
。
conda
会询问(我认为是 git 内部)您的密码以检索代码。
【讨论】:
以上是关于使用 conda 构建和安装本地或自定义 R 包的主要内容,如果未能解决你的问题,请参考以下文章