网状结构的配置/安装问题[R]

2024-09-30 20:16:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图使用reticulate来集成R中的Python模块,尽管已经安装了tutorialminiconda),但似乎没有任何东西能够正常工作。我尝试使用默认方式并指定conda虚拟环境

> library(reticulate)
> py_config()
# python:         C:/Users/juanj/AppData/Local/r-miniconda/envs/r-reticulate/python.exe
# libpython:      C:/Users/juanj/AppData/Local/r-miniconda/envs/r-reticulate/python36.dll
# pythonhome:     C:/Users/juanj/AppData/Local/r-miniconda/envs/r-reticulate
# version:        3.6.12 (default, Dec  9 2020, 00:11:44) [MSC v.1916 64 bit (AMD64)]
# Architecture:   64bit
# numpy:          C:/Users/juanj/AppData/Local/r-miniconda/envs/r-reticulate/Lib/site-packages/numpy
# numpy_version:  1.19.2

> py_install("python-igraph")
# Collecting package metadata (current_repodata.json): ...working... done
# Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
# Solving environment: ...working... failed with repodata from current_repodata.json, will retry with next repodata source.
# Collecting package metadata (repodata.json): ...working... done
# Solving environment: ...working... done
# 
# ## Package Plan ##
# 
#   environment location: C:\Users\juanj\AppData\Local\r-miniconda\envs\r-reticulate
# 
#   added / updated specs:
#     - python
#     - python-igraph
# [...]
# python-igraph-0.8.3  | 1.4 MB    | ########## | 100% 
# Preparing transaction: ...working... done
# Verifying transaction: ...working... done
# Executing transaction: ...working... done

> py_module_available("python-igraph")
# [1] FALSE

## virtual environment
> virtualenv_create("r-reticulate")
# Using Python: C:/Users/juanj/AppData/Local/r-miniconda/envs/r-reticulate/python.exe
# Creating virtual environment "r-reticulate" ... Done!
# Installing packages: "pip", "wheel", "setuptools", "numpy"
# Collecting pip
# [...]
# Successfully installed numpy-1.19.5 pip-21.0.1 setuptools-53.0.0 wheel-0.36.2
# Virtual environment 'r-reticulate' successfully created.

> virtualenv_install("r-reticulate", "python-igraph")
# Using virtual environment "r-reticulate" ...
# Collecting python-igraph
#   Downloading python_igraph-0.8.3-cp36-cp36m-win_amd64.whl (1.4 MB)
# Collecting texttable>=1.6.2
#   Downloading texttable-1.6.3-py2.py3-none-any.whl (10 kB)
# Installing collected packages: texttable, python-igraph
# Successfully installed python-igraph-0.8.3 texttable-1.6.3

> py_module_available("python-igraph")
# [1] FALSE

## conda
> conda_create("r-reticulate.conda")
# Collecting package metadata (current_repodata.json): ...working... done
# Solving environment: ...working... done
# 
# ## Package Plan ##
# 
#   environment location: C:\Users\juanj\AppData\Local\R-MINI~1\envs\r-reticulate.conda
# [...]
# Preparing transaction: ...working... done
# Verifying transaction: ...working... done
# Executing transaction: ...working... done
# #
# # To activate this environment, use
# #
# #     $ conda activate r-reticulate.conda
# #
# # To deactivate an active environment, use
# #
# #     $ conda deactivate
# 
# [1] "C:\\Users\\juanj\\AppData\\Local\\r-miniconda\\envs\\r-reticulate.conda\\python.exe"

> conda_install("r-reticulate.conda", "python-igraph")
# Collecting package metadata (current_repodata.json): ...working... done
# Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
# Solving environment: ...working... failed with repodata from current_repodata.json, will retry with next repodata source.
# Collecting package metadata (repodata.json): ...working... done
# Solving environment: ...working... done
# 
# ## Package Plan ##
# 
#   environment location: C:\Users\juanj\AppData\Local\R-MINI~1\envs\r-reticulate.conda
# [...]
# python-igraph-0.8.3  | 1.4 MB    | ########## | 100% 
# Preparing transaction: ...working... done
# Verifying transaction: ...working... done
# Executing transaction: ...working... done

> py_module_available("python-igraph")
# [1] FALSE

你知道我遗漏了什么吗?谢谢


Tags: environmentlocalcondausersappdataworkingtransactionminiconda
2条回答

我认为问题在于py_module_available采用的是模块名,而不是pypi上的包名

你能试试吗

> py_module_available("igraph")

我忘了提到我是在Windows上工作的,所以,我想这些信息并没有添加任何相关内容

最后(考虑到@reverse_engineer的回答),我解决了这个问题,只添加了pip = T,没有关于配置虚拟环境的内容:

> library(reticulate)
> py_install("python-igraph", pip = T)
> import("igraph")
# Module(igraph)

相关问题 更多 >