mysql连接器缺少队列模块python3.3

2024-04-24 08:10:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正致力于在python3.3虚拟env上建立金字塔框架。 对于数据库连接,我使用MySQL Connector/Python(SQLAlchemy)。在

我遇到了一个问题:

当我试图从数据库中选择记录时,我得到以下信息:

[Wed Feb 12 09:20:34.373204 2014] [:error] [pid 29351] [remote 127.0.0.1:55376] File "/home/xxx/wsgi/env/lib/python3.3/site-packages/mysql_connector_python-1.1.5-py3.3.egg/mysql/connector/pooling.py", line 29, in <module> [Wed Feb 12 09:20:34.373237 2014] [:error] [pid 29351] [remote 127.0.0.1:55376]
ImportError: No module named queue

它找不到模块队列,但它工作正常:

~/wsgi/env$ bin/python3.3 
Python 3.3.2+ (default, Oct  9 2013, 14:50:09) 
[GCC 4.8.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import queue
>>> 

问题出在哪里?在wsgi/env/lib/python3.3/中没有queue.py的符号链接,但是如果我手动添加它,仍然会出现错误

编辑1: 当我使用pserve命令启动一个web服务器时,一切正常,但是使用apache2时,会发生上述情况。在

Apache配置:

^{pr2}$

Tags: pyenv数据库wsgiconnectorremotequeuelib
2条回答

简而言之:如果Python3代码依赖于queue模块,请确保导入“queue”,而不是“queue”。在

长话短说: 在尝试自动重启我的apache服务的wsgi耦合django应用程序时,我也遇到了类似的问题。在我的例子中,我从https://code.google.com/p/modwsgi/wiki/ReloadingSourceCode获取代码示例,并且仍然是noob首先通过添加“from multiprocessing import Queue”来“解决”我的“import Queue”行的问题,这显然是错误的,因为代码示例实际上试图从queuelib模块导入队列(至少我认为是这样)。因此,真正的、有点微妙的问题是大的“Q”——将行改为“import queue”就解决了这个问题。在

找出所有问题的原因。我使用的是mod\wsgi,与python3.3不兼容。 解决问题的方法是:

sudo apt-get install libapache2-mod-wsgi-py3

相关问题 更多 >