2011-10-11 87 views
0

根据手册,我尝试了以下两种方法,在ubuntu 11.0 中安装pymongo没有成功。任何建议表示赞赏!在ubuntu上安装pymongo3-1.9b1 11.04

方法一:

[email protected]:~/Downloads/pymongo3-1.9b1$ sudo python3.2 setup.py install 
Extracting in /tmp/tmp206r5e 
Traceback (most recent call last): 
    File "/home/user/Downloads/pymongo3-1.9b1/distribute_setup.py", line 139, in use_setuptools 
    import pkg_resources 
ImportError: No module named pkg_resources 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "setup.py", line 9, in <module> 
    use_setuptools() 
    File "/home/user/Downloads/pymongo3-1.9b1/distribute_setup.py", line 145, in use_setuptools 
    return _do_download(version, download_base, to_dir, download_delay) 
    File "/home/user/Downloads/pymongo3-1.9b1/distribute_setup.py", line 125, in _do_download 
    _build_egg(egg, tarball, to_dir) 
    File "/home/user/Downloads/pymongo3-1.9b1/distribute_setup.py", line 98, in _build_egg 
    tar = tarfile.open(tarball) 
    File "/usr/local/lib/python3.2/tarfile.py", line 1744, in open 
    raise ReadError("file could not be opened successfully") 
tarfile.ReadError: file could not be opened successfully 

方法二:

[email protected]:~/Downloads/pymongo3-1.9b1$ sudo easy_install pymongo3 
Searching for pymongo3 
Reading http://pypi.python.org/simple/pymongo3/ 
Reading http://github.com/agronholm/mongo-python-driver-py3k 
Best match: pymongo3 1.9b1 
Downloading http://pypi.python.org/packages/source/p/pymongo3/pymongo3-1.9b1.tar.gz#md5=6c65dcad8674f37ffc8bc3d6e1fd4155 
Processing pymongo3-1.9b1.tar.gz 
Running pymongo3-1.9b1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Iv0ZIq/pymongo3-1.9b1/egg-dist-tmp-sUlwd7 
Traceback (most recent call last): 
    File "/usr/bin/easy_install", line 9, in <module> 
    load_entry_point('distribute==0.6.15', 'console_scripts', 'easy_install')() 
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1906, in main 
    with_ei_usage(lambda: 
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1887, in with_ei_usage 
    return f() 
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1910, in <lambda> 
    distclass=DistributionWithoutHelpCommands, **kw 
    File "/usr/lib/python2.7/distutils/core.py", line 152, in setup 
    dist.run_commands() 
    File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands 
    self.run_command(cmd) 
    File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command 
    cmd_obj.run() 
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 363, in run 
    self.easy_install(spec, not self.no_deps) 
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 603, in easy_install 
    return self.install_item(spec, dist.location, tmpdir, deps) 
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 633, in install_item 
    dists = self.install_eggs(spec, download, tmpdir) 
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 823, in install_eggs 
    return self.build_and_install(setup_script, setup_base) 
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1100, in build_and_install 
    self.run_setup(setup_script, setup_base, args) 
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1089, in run_setup 
    run_setup(setup_script, args) 
    File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 29, in run_setup 
    lambda: execfile(
    File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 70, in run 
    return func() 
    File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 31, in <lambda> 
    {'__file__':setup_script, '__name__':'__main__'} 
    File "setup.py", line 150 
SyntaxError: Non-ASCII character '\xc3' in file setup.py on line 150, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details 
[email protected]:~/Downloads/pymongo3-1.9b1$ 

我发现,我已经安装在机器上的zlib

[email protected]:~/Downloads$ sudo apt-get install zlib1g-dev 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
zlib1g-dev is already the newest version. 
0 upgraded, 0 newly installed, 0 to remove and 242 not upgraded. 

我用下面的方法来安装python 3.2

1> tar -xvf Python-3.2.tgz && cd Python-3.2/ 
2> ./configure 
3> make 
4> sudo make altinstall 

回答

1

用于第二误差罪魁祸首是行:

它使用一个变音符,但文件的编码未声明,默认为ASCII。

抓斗使用

easy_install --editable --build-directory ~/Desktop pymongo3 

然后编辑~/pymongo3/setup.py和修复包源/删除有问题的行。您应该能够使用

easy_install ~/Desktop/pymongo3 

安装继续进行,过去解析setup.py给我安装,然后崩溃在Python 3引入了一个模块上(我只有2.7得心应手。)

你也应该至少报告这是一个错误。

+0

我已经看到easy_install pymongo3不应该用于安装python3x的pymongo。因此,我们应该关注如何解决第一个问题。 – q0987

+0

@ q0987:第一个问题听起来像是你没有安装setuptools/distribute。你在哪里看到你不应该使用'easy_install'?我找不到这样的说法,考虑到这个软件包依赖于setuptools,这听起来很奇怪。 – millimoose

+0

如果您使用easy_install为没有root权限的python3安装pymongo3,您会发现easy_install会尝试更改python2.x内的内容而不是python3.x – q0987