Sli*_*Jim 5 python ubuntu pymongo python-3.x
我目前正在运行 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
Run Code Online (Sandbox Code Playgroud)
我还尽可能地在安装之间进行了拆卸和清洁。
如果我导入 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
Run Code Online (Sandbox Code Playgroud)
该错误与pymongo 常见问题解答相同,但对我而言,我所在的位置并不重要。
我的理论是pymongo的python2版本错误地添加了python3。
它应该与
sudo python3.2 setup.py install
Run Code Online (Sandbox Code Playgroud)
但由于某种原因却没有
最好下载分布式和 pip 的源代码(并按此顺序安装它们)
sudo python3 setup.py install #distributed
sudo python3 setup.py install #pip
sudo pip-3.2 install pymongo
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6626 次 |
| 最近记录: |