2016-10-11 17 views
0

web2py的錯誤:pydal需要pymongo版本> = 3.0,發現 '2.2.1'

<type 'exceptions.RuntimeError'> Failure to connect, tried 5 times: 
Traceback (most recent call last): File 
"/Applications/web2py.app/Contents/Resources/gluon/packages/dal/pydal/base.py", 
line 446, in __init__ File 
"/Applications/web2py.app/Contents/Resources/gluon/packages/dal/pydal/adapters/base.py", line 60, in __call__ File 
"/Applications/web2py.app/Contents/Resources/gluon/packages/dal/pydal/adapters/mongo.py", 
line 91, in __init__ Exception: pydal requires pymongo version >= 3.0, found '2.2.1' 


    Version web2py™ Version 2.14.6-stable+timestamp.2016.05.10.00.21.47 

的Python:

python 
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pymongo 
>>> pymongo.version 
'3.3.0' 
>>> 

環境:OSX 解決的web2py有人能幫助錯誤?

+0

你在第一個案件上運行什麼?這是一個python命令是否從shell運行? – elelias

+0

第一個來自web2py。我在db.py - > db1 = DAL('mongodb:// localhost:27017',check_reserved = [「mongodb_nonreserved」,],adapter_args = {「safe」:False})中添加了以下行: – Sumit

+0

但我的意思是你運行'python someprogram.py'或者第一個錯誤是怎麼產生的? – elelias

回答

0

看起來你正在運行OS2二進制版本的web2py,它自帶的Python 2解釋器(目前,web2py只在Python 2下運行),所以它會忽略你的系統的Python安裝(並且web2py不會無論如何,在你的Python 3安裝下運行)。 web2py的二進制版本不包含pymongo,因此我不確定pymongo 2.2.1的版本來自哪裏,除非您自己將其安裝在/web2py.app/Contents/Resources/site-packages中。

一種選擇是安裝Python 2.7,安裝pymongo,然後下載web2py的源代碼版本而不是OSX二進制文件。