pymongo不会工作:(尝试了一切

时间:2017-01-27 20:55:47

标签: windows mongodb python-2.7 pymongo-3.x

这里有点frusutriated,任何帮助将是惊人的 嗨,我正在使用Windows Server 2012 R2 我已经安装了python 2.7.13

C:\Python27>python -c "import sys; print(sys.version)"
2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)]

C:\Python27>python -c "import pymongo; print(pymongo.version); print(pymongo.has
_c())"
3.4.0
True

然而,当我运行我的代码时,我得到了

C:\Python27>python C:\Python_scripts\ExcelGenerator.py
Extracting all files from MongoDB
Traceback (most recent call last):
  File "C:\Python_scripts\ExcelGenerator.py", line 24, in <module>
    from pymongo import MongoClient
  File "C:\Python_scripts\pymongo.py", line 8, in <module>
    from pymongo import MongoClient
ImportError: cannot import name MongoClient

我试过卸载pymongo然后卸载python然后按顺序重新安装python然后pymongo - 我已经双重检查了计算机上没有其他版本的python而且我仍然无法让它工作....

有什么想法吗?

ps我的代码是

from pymongo import MongoClient

client = MongoClient('mongodb://xx.x.x.x:xxxxx/')
db = client.the_database
db.authenticate('xxx', 'xxxx', source='xxxx')
coll = db.dataset

1 个答案:

答案 0 :(得分:1)

看看那一行:

File "C:\Python_scripts\pymongo.py", line 8, in <module>

问题中提到的错误是因为在Python_scripts文件夹中有一个名为pymongo.py的文件,因此您的程序不是导入原始模块而是导入自定义模块。

但是,执行此命令时

C:\Python27>python -c "import pymongo; print(pymongo.version); print(pymongo.has
_c())"

它导入原始模块,因为您从另一个目录执行该命令,其中没有自定义模块,因此解释器在全局范围内查找它