pymongo安装成功但在python3中导入失败
我现在在用Ubuntu 12.10,想让pymongo在python3下正常工作。我尝试过的事情有:
1. apt-get install python-pymongo
2. python setup.py install #from git source
3. easy_install pymongo
4. easy_install pymongo3
5. pip install pymongo
6. pip install pymongo3 #needed a fix in the download script
我在安装之间也尽量清理和卸载了。
当我导入pymongo的时候:
In [1]: import pymongo
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-1-ec8fdd1cd630> in <module>()
----> 1 import pymongo
/usr/local/lib/python3.2/dist-packages/pymongo-2.4.2_-py3.2-linux-x86_64.egg/pymongo/__init__.py in <module>()
55 return '.'.join(map(str, version_tuple))
56
---> 57 version = get_version_string()
58 """Current version of PyMongo."""
59
/usr/local/lib/python3.2/dist-packages/pymongo-2.4.2_-py3.2-linux-x86_64.egg/pymongo/__init__.py in get_version_string()
51
52 def get_version_string():
---> 53 if isinstance(version_tuple[-1], basestring):
54 return '.'.join(map(str, version_tuple[:-1])) + version_tuple[-1]
55 return '.'.join(map(str, version_tuple))
NameError: global name 'basestring' is not defined
出现的错误和pymongo的常见问题里说的一样,但对我来说,出错的地方和我所在的位置无关。
我猜测是因为pymongo的python2版本不小心被装到了python3里。
4 个回答
1
我用pip3安装的时候没问题
sudo pip3 install pymongo
要使用pip3,首先需要安装Python 3版本的pip,安装方法如下
sudo apt-get install python3-pip
1
为了将来需要的时候方便查找。
在ubuntu13上为python3安装pymongo
(1) 不要直接在ubuntu软件中心安装pymongo;那里提供的版本是旧版的python(3之前的版本)。

如果你安装了它,就无法在python3中使用pymongo:

(2) 你应该为python 3安装一个特定的包管理工具:python3-pip。

(3) 使用pip-3.3命令,运行下面的命令在ubuntu的终端中安装pymongo:
pip-3.3 install pymongo
如果你没有超级用户权限,记得加上sudo来运行。
sudo pip-3.3 install pymongo
(4) 这样你就可以顺利安装pymongo,并在python3中使用它。为了验证,打开IDLE输入:
(5) 你也可以在终端中轻松安装pymongo3:
pip-3.3 install pymongo3
不过其实不需要单独安装,因为现在的pymongo包里已经包含了所有功能。
0
它应该可以用这个
sudo python3.2 setup.py install
但不知道为什么它不行
最好是先下载分发版和pip的源代码(并按照这个顺序安装)
sudo python3 setup.py install #distributed
sudo python3 setup.py install #pip
sudo pip-3.2 install pymongo