【发布时间】:2025-12-08 18:40:01
【问题描述】:
首先,这是我的第一篇文章,所以如果我的格式、礼仪等有问题,请告诉我,以便我更正。
在详尽的谷歌搜索之后,我没有找到解决方案。
我正在尝试对 Python 脚本进行故障排除。它应该在 Python 3.6 和/或更新版本中运行。我尝试了不同的方法来尝试让它运行,即虚拟环境、不同的 Python 版本(仅限 3.6 和 3.8)以及不同的用户,但它总是失败并出现以下相同的错误。我已经检查了安装的 Python 模块应该是正确的,但我不相信它们可能是需要的正确的。
这是脚本(当然是经过消毒的):
import logging
from logstash_async.handler import AsynchronousLogstashHandler
host = 'serverA.xyz.com'
port = 3306
# Get you a test logger
test_logger = logging.getLogger('python-logstash-logger')
# Set it to whatever level you want - default will be info
test_logger.setLevel(logging.DEBUG)
# Create a handler for it
test_logger.addHandler(AsynchronousLogstashHandler(host, port, database_path=None))
# Add the handler to the logger
#test_logger.addHandler(handler)
# sending amessage
test_logger.info("This is a test Message")
这是我不断收到的错误:
Traceback (most recent call last):
File "test_elk.py", line 3, in <module>
from logstash_async.handler import AsynchronousLogstashHandler
File "/opt/gpi-datalake/.local/lib/python3.8/site-packages/logstash_async/handler.py", line 11, in <module>
from logstash_async.worker import LogProcessingWorker
File "/opt/gpi-datalake/.local/lib/python3.8/site-packages/logstash_async/worker.py", line 17, in <module>
from logstash_async.database import DatabaseCache, DatabaseLockedError
File "/opt/gpi-datalake/.local/lib/python3.8/site-packages/logstash_async/database.py", line 7, in <module>
import sqlite3
ModuleNotFoundError: No module named 'sqlite3'
需要的模块(基于详尽搜索):
尝试过的 Python 版本(包括 Python 虚拟环境):
- Python 3.8.7
- Python 3.6.8
环境:
- Red Hat Enterprise Linux Server 7.9 版(迈坡)
已安装 SQLite3 包:
libsqlite3x.x86_64 20071018-20.el7 @epel
libsqlite3x-devel.x86_64 20071018-20.el7 @epel
python-sqlite3dbm.noarch 0.1.4-6.el7 @epel
sqlite.x86_64 3.7.17-8.el7_7.1 @rhel-x86_64-server-7
sqlite-devel.x86_64 3.7.17-8.el7_7.1 @rhel-7-server-rpms
提前致谢。
【问题讨论】:
-
当你
$ pip3 show sqlite3时会发生什么? -
这是我得到的:
WARNING: Package(s) not found: sqlite3
标签: python python-3.x sqlite redhat