我对 pymongo 有一些奇怪的事情 - 昨天我的代码工作得很好,到今天我在导入 pymongo 模块时遇到了一个错误(这个错误在 IDE 和解释器中都会弹出,并且使用 virtualenv):
>>> import pymongo
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/bohulenkov14/my_new_env/lib/python2.7/site-packages/pymongo/__init__.py", line 61, in <module>
from pymongo.connection import Connection
File "/Users/bohulenkov14/my_new_env/lib/python2.7/site-packages/pymongo/connection.py", line 44, in <module>
from bson.py3compat import b
File "/Users/bohulenkov14/my_new_env/lib/python2.7/site-packages/bson/__init__.py", line 33, in <module>
from bson.objectid import ObjectId
File "/Users/bohulenkov14/my_new_env/lib/python2.7/site-packages/bson/objectid.py", line 51, in <module>
class ObjectId(object):
File "/Users/bohulenkov14/my_new_env/lib/python2.7/site-packages/bson/objectid.py", line 58, in ObjectId
_machine_bytes = _machine_bytes()
File "/Users/bohulenkov14/my_new_env/lib/python2.7/site-packages/bson/objectid.py", line 47, in _machine_bytes
machine_hash.update(socket.gethostname().encode())
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
我的操作系统 - Mac OS X 版本 10.7.5。Pymongo 是使用 easy_install 安装的。
我对此的原因有一个猜测-我将Windows与mac os安装在同一驱动器上(安装了新兵训练营帮助),并且在重新打开mac之前我用资源管理器浏览了一些mac os目录。也许它会在任何地方更改一些编码,但我对此表示怀疑。我试过了有人知道pymongo或macos会发生什么,我该如何解决这个问题?