0

嗨,这里有点沮丧,任何帮助都会很棒嗨我正在使用 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
4

1 回答 1

1

看看那一行:

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

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

但是,当您执行此命令时

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

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

于 2017-01-27T23:01:59.677 回答