2011-10-11 116 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