在 R 中运行的 Python 脚本导入错误 [关闭]

Posted

技术标签:

【中文标题】在 R 中运行的 Python 脚本导入错误 [关闭]【英文标题】:Import Errors with Python script run in R [closed] 【发布时间】:2016-05-19 00:21:00 【问题描述】:

我有一个 Python 程序,用于搜索异常(先训练,然后测试)。现在我需要从 RStudio 启动这个 Python 程序。我已经阅读了有关 system('python myfirstpythonfile.py') 的信息,但是当我以这种方式启动我的 Python 程序时,我遇到了 numpyscipy 等的导入错误。

如何从 RStudio 启动我的 Python 程序?

【问题讨论】:

numpy 的问题”是指无法导入吗? 请说明这些问题是什么。作为测试,在命令行解释器中运行同一行 - Bash/PowerShell 并查看输出。 @Parfi 您可以发布您收到的错误消息(例如,如果您怀疑收到ImportError)?然后你的问题可以重新打开。 【参考方案1】:

在导入 numpyscipy 时遇到问题表明您的脚本没有在正确的 Python 环境中运行。可以在一台计算机上安装多个版本的 Python,而当您键入python 时运行哪个版本由PATH 设置决定。可能是当 RStudio 执行您的脚本(通过 python myfirstpythonfile.py)时,它启动了错误的 Python — 您计算机上的 Python 版本没有安装 numpy 包。

您可以通过在命令行上运行以下命令并查看它的输出来测试是否是这种情况:

python -c "import sys; print(sys.executable)"

您可以在 RStudio 中尝试相同的操作:

system('python -c "import sys; print(sys.executable)"')

如果它给出不同的结果,您可以将第一个结果作为绝对路径传递给 python(更改 /path/to/python 以获得您系统的正确值):

system('/path/to/python myfirstpythonfile.py')

正如您在 cmets 中提到的,您实际上是在尝试使用 Python3,那么您可以在 RStudio 中简单地执行以下操作:

system('python3 myfirstpythonfile.py')

这将使用您安装的 Python3 和相关的包/库运行您的脚本。

【讨论】:

@Parfi 您是否尝试运行上述命令并检查输出? 也许你是对的。 - python -c "import sys; print(sys.executable)" - 给了我 Python 2.7 - system('python -c "import sys; print(sys.executable)"') - 给了我 Python 2.7 但我使用的是 Python 3.5 (我有所有的库)但是如果我尝试 system('Path/.../Programs/Python/Python35-32/myfirstpythonfile.py'),我会收到状态为 127 的警告消息 啊,使用python3 -c "import sys; print(sys.executable)" 获取您的python3 的完整路径 @Parfi 看到编辑:你也许可以从 RStudio 内部调用python3 我见过。谢谢,现在 1. 程序工作正常,但 2. 程序有新问题。正是这个:***.com/questions/34588339/import-scipy-sparse-failed 这个问题不喜欢我,因为我必须安装 Python 3.4 和所有库等 :-)

以上是关于在 R 中运行的 Python 脚本导入错误 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

调试htcondor运行python脚本的问题

如何运行从子文件夹导入的 Python 3 脚本?

导入 python 模块以使脚本能够从命令行运行

Python导入并运行位于不同目录中的python脚本[重复]

运行shell脚本报错```$'\r':command not found```

ui 和服务器脚本作为一个脚本运行,运行良好。但是在不同的文件 ui.R 和 server.R 中运行脚本会引发错误