2

我对 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会发生什么,我该如何解决这个问题?

4

1 回答 1

3

嗨 a 有同样的错误,但在 Windows 上。

当我写 import pymongo -> 我收到 unicodedecodeerror

我的解决方案:将 pc 的名称更改为英文,它是俄语(

于 2012-10-27T12:34:05.460 回答