gpt4 book ai didi

python - 导入错误: No module named queue

转载 作者:行者123 更新时间:2023-11-30 23:20:56 28 4
gpt4 key购买 nike

我正在尝试让我的 Python 脚本在我的 Synology 上运行。该应用程序使用 Oracle's MySQL framework Connector/Python我通过在独立于平台的 Connector/Python 版本上运行 python setup.py install 来安装它。

我已通过 .msi 安装程序在 Windows PC 上安装了 Connector/Python。这运行得很好。但每次我尝试在 Synology 上运行它时,都会收到此错误:

File "MyApplication.py", line 3, in <module>
from DatabaseConnection import DatabaseConnection
File "/volume1/public/Python/MyApplication/DatabaseConnection.py", line 3, in <module>
import mysql.connector
File "/usr/local/lib/python2.7/site-packages/mysql/connector/__init__.py", line 42, in <module>
from mysql.connector.pooling import (
File "/usr/local/lib/python2.7/site-packages/mysql/connector/pooling.py", line 29, in <module>
import queue
ImportError: No module named queue

我发现其中有两个问题:

  • 我需要某种队列库。我在哪里可以得到那个?我的 Windows PC 刚刚拥有它。
  • 据我在 google 上搜索,队列库应该命名为 Queue,而不是 Python 2.7 的 queue。但是 Connector/Python 的平台独立版本没有说明它应该在哪个版本上运行。

澄清一下,我没有任何版本的队列库(即 Queue.pyqueue.py)。

如何解决这个问题?

最佳答案

您下载的应用程序是为 Python 3 设计的,并且您安装了 Python 2。

独立于平台的 zip 存档具有 Python 2 和 Python 3 版本的连接器,并且在 metasetupinfo.py 中有此检查:

if sys.version_info >= (3, 1):
sys.path = ['python3/'] + sys.path
package_dir = { '': 'python3' }
elif sys.version_info >= (2, 6) and sys.version_info < (3, 0):
sys.path = ['python2/'] + sys.path
package_dir = { '': 'python2' }
else:
raise RuntimeError(
"Python v%d.%d is not supported" % sys.version_info[0:2])

由于某种原因,您的平台上的此检查默认为 Python 3,因此安装了错误版本的库。

Oracle MySQL 连接器有一些独特的功能(例如,它为 django 提供了优化的驱动程序),但如果您不需要这些功能 - 安装 mysql-python (MySQLdb driver )将完美地工作。

关于python - 导入错误: No module named queue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25175531/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com