运行cron作业时导入pandas错误

问题描述 投票:0回答:1

我正在虚拟机上工作,即使我已经安装了 pandas 并且我可以直接运行代码,如下所示,我也无法使用 cron 调度程序运行 python 代码,而不会出现与 import pandas as pd 错误相关的错误。

直接执行代码即可按预期工作,这意味着 pandas 已安装。

(myenv) (base) virtual-machine:~/myenv$ ./camera_job_run.sh
Copying gs://fi-local-camera-startup/localcamerastartup.py...
/ [1 files][  2.7 KiB/  2.7 KiB]                                                
Operation completed over 1 objects/2.7 KiB.                                      


[1464 rows x 7 columns]
Data written to development.test.camera successfully.
(myenv) (base) virtual-machine:~/myenv$ `

这是我的代码

camera_job_run.sh
。我正在从云存储桶复制 python 文件。

  GNU nano 7.2                                                                                                                                                                                                     camera_job_run.sh                                                                                                                                                                                                              
#! /bin/bash
gsutil cp gs://local-camera/localcamerastartup.py /home//myenv
python3 /home//myenv/localcamerastartup.py`

这是我的 cron 作业代码

*/5 * * * * /home//myenv/camera_job_run.sh >> /home//myenv/camera_logfile.log 2>&1

该文件预计每 5 分钟运行一次,并且它正在运行,但是,我收到与 import pandas 相关的错误消息。 我不明白为什么当我执行代码时它直接工作但使用 cron 计划却出现错误。

Copying gs://local-camera/localcamerastartup.py...
/ [0 files][    0.0 B/  2.7 KiB]                                                ^M/ [1 files][  2.7 KiB/  2.7 KiB]
Operation completed over 1 objects/2.7 KiB.
Traceback (most recent call last):
  File "/home//myenv/localcamerastartup.py", line 3, in <module>
    import pandas as pd
ModuleNotFoundError: No module named 'pandas't`

谢谢

我尝试过安装 pandas 并直接运行代码

python virtual-machine
1个回答
0
投票

我的第一个猜测是你没有全局安装 pandas。但你不应该这样做。使用 virtualenv 代替。然后在 shell 脚本中使用虚拟环境解释器。所以假设你在 Linux 上并创建这样的虚拟环境

python3 -m venv venv

运行 python 脚本时,您可能想在 bash 脚本中指定解释器的路径

./path/to/venv/bin/python3 localcamerastartup.py
© www.soinside.com 2019 - 2024. All rights reserved.