我正在尝试在R中使用Reticulate,并且在安装软件包时遇到了问题,特别是psycopg2
,但我也尝试过安装twisted
但结果相同。
在加载reticulate
后,我会再次检查以确保我的软件包已安装:
> conda_install(envname = "r-reticulate", packages="psycopg2")
Solving environment: ...working... done
# All requested packages already installed.
看起来不错。因此,我将我的condaenv设置为r-reticulate
以确保安全。文档中说我不必这样做,但也不会有坏处:
> use_condaenv( "r-reticulate")
然后我尝试导入psycopg2
:
> psycopg2 <- import('psycopg2')
Error in py_module_import(module, convert = convert) :
ImportError: No module named psycopg2
如果我以同样的方式安装twisted
,我会得到相同的错误:
> twisted <- import('twisted')
Error in py_module_import(module, convert = convert) :
ImportError: No module named twisted
那么,我在这里做错了什么?
下面是 conda_list
和 py_config
的输出... 我本来期望 py_config
会向我展示在我的 r-reticulate
环境中 Python 可执行文件的路径。但是我没有任何可以比较的东西,所以我的期望可能是错误的。
> conda_list()
name python
1 Anaconda C:\\Users\\jal\\AppData\\Local\\Continuum\\Anaconda\\python.exe
2 r-reticulate C:\\Users\\jal\\AppData\\Local\\Continuum\\Anaconda\\envs\\r-reticulate\\python.exe
> py_config()
python: C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\python.exe
libpython: C:/Users/jal/AppData/Local/CONTIN~1/Anaconda/python27.dll
pythonhome: C:\Users\jal\AppData\Local\CONTIN~1\Anaconda
version: 2.7.15 |Anaconda custom (64-bit)| (default, May 1 2018, 18:37:09) [MSC v.1500 64 bit (AMD64)]
Architecture: 64bit
numpy: C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\lib\site-packages\numpy
numpy_version: 1.14.3
pandas: C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\lib\site-packages\pandas
python versions found:
C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\python.exe
C:\Users\jal\AppData\Local\CONTIN~1\ANACON~1\python.exe
reticulate
时,我遇到了类似的问题。从shell中删除并重新创建r-reticulate
conda环境解决了我的问题,参见https://github.com/rstudio/reticulate/issues/253。 - Raniere Silvaconda_install('r-reticulate','psycopg2')
和同样的操作安装'numpy',但当我运行py_config()
时,两个软件包都没有显示出来。import('psycopg2')
和import('numpy')
都会导致“ModuleNotFoundError:no module named …”。 - Brian D