我目前正在运行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 FAQ相同,但对我而言,无论我在哪里都无关紧要。
我的理论是pymongo的python2版本错误地添加了python3。
答案 0 :(得分:1)
如果我将来需要它。
在ubuntu13中为python3安装pymongo
(1)不要直接在ubuntu软件中心安装pymongo;它们适用于旧版本的python(版本3之前)
如果你安装它,你将无法在python3中使用pymongo:
(2)你应该为python 3安装一个特定的python包安装程序:python3-pip
(3)使用提供的pip-3.3命令python3-pip包,在unbuntu终端运行以下命令安装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包中。
答案 1 :(得分:1)
使用pip3进行安装对我有用
sudo pip3 install pymongo
使用pip3,作为先决条件必须安装Python 3的pip副本,可以按如下方式完成
sudo apt-get install python3-pip
答案 2 :(得分:1)
从 https://pypi.python.org/pypi/pymongo#downloads 下载最新的pymongo(3.4.0)
提取文件: tar -zxvf pymongo-3.4.0.tar.gz
注意:当然,您需要在提取的pymongo目录中触发上述命令。您可能还需要以root身份运行它,否则您将获得写入权限问题。我正在使用CentOS 7,它像微风一样工作!。
答案 3 :(得分:0)
它应该与
一起使用sudo python3.2 setup.py install
但它不是出于某种原因
最好通过
下载distributed和pip的源代码(并按此顺序安装)sudo python3 setup.py install #distributed
sudo python3 setup.py install #pip
sudo pip-3.2 install pymongo