我正致力于在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}$
简而言之:如果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不兼容。 解决问题的方法是:
相关问题 更多 >
编程相关推荐