weibaobaocsdn 2024-07-07 10:57 采纳率: 0%
浏览 5

crontab运行python脚本报错

mac写了一个python脚本,本地执行可以正常运行。但是crontab定时任务总会报错,
提示无法从lxml导入etree。但是我在pycharm中导入lxml和etree都是正常的,
请教各位是什么问题?定时任务之前运行也是正常的,但有一次弹出一个提示,让我安装一个什么插件才可以运行python脚本,安装以后就开始不正常了,一开始提示我找不到tushare这个包,我在py文件里加了sys.append路径,加好之后可以导入tushare,又提示我无法从lxml导入etree。无语


Traceback (most recent call last):
  File "/Users/yifang/PycharmProjects/financial_report/crontab_task.py", line 4, in <module>
    import hk_hold, daily_basic, pandas as pd
  File "/Users/yifang/PycharmProjects/financial_report/hk_hold.py", line 1, in <module>
    import tushare as ts
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/tushare/__init__.py", line 11, in <module>
    from tushare.stock.trading import (get_hist_data, get_tick_data,
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/tushare/stock/trading.py", line 13, in <module>
    import lxml.html
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/lxml/html/__init__.py", line 49, in <module>
    from .. import etree
ImportError: cannot import name 'etree' from 'lxml' (/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/lxml/__init__.py)

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-07-07 10:57
    关注

    引自免费微信小程序:皆我百晓生

    根据你提供的错误信息,问题似乎在于定时任务运行时,Python无法正确导入 lxml 模块中的 etree 子模块。这可能是由于以下几个原因导致的:

    1. Python环境差异:你在PyCharm中运行脚本时使用的Python环境和定时任务使用的环境可能不同。这可能是因为你的PyCharm环境中安装了特定的库版本,而系统的Python环境中没有安装。确认定时任务运行时使用的是正确的Python环境是非常重要的。你可以通过在终端运行 which pythonwhere python 来确认系统使用的是哪个Python版本和安装位置。同时检查 PYTHONPATH 环境变量是否正确指向你的库所在的路径。确保你使用的是与PyCharm相同的环境,或者你手动设置了包含所需库的环境变量。
    2. 依赖冲突或版本不匹配:在某些情况下,特别是在你提到需要安装一个特定插件之后问题出现时,可能存在依赖冲突或库版本不匹配的问题。尝试卸载并重新安装 lxml 库,确保其与你的Python版本兼容。可以使用 pip uninstall lxml 命令卸载,然后使用 pip install lxml 命令重新安装。确保在PyCharm环境和系统环境中都进行了这个操作。
    3. 虚拟环境问题:如果你在使用虚拟环境(如 venvconda),请确保定时任务运行时的环境与你开发的虚拟环境一致。如果你在一个环境中安装了库,但在另一个环境中运行脚本,可能会出现导入错误。确认你的定时任务是否也使用了相同的虚拟环境配置。

    为了解决这个问题,你可以尝试以下步骤:

    • 确认你的系统环境和PyCharm环境使用的Python版本相同。
    • 检查 PYTHONPATH 环境变量是否包含你的库路径。
    • 在系统的Python环境中重新安装 lxml 库。
    • 确保你的定时任务使用与PyCharm相同的虚拟环境(如果使用虚拟环境)。

    如果问题仍然存在,请提供更多关于你的环境和配置的信息,以便我能更准确地帮助你解决问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月7日

悬赏问题

  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥20 看图片)删除这个自动化录屏脚本就一直报错找不到脚本文件,如何解决?(相关搜索:bat文件)
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件