2012-08-28 172 views
1

我需要將numpy數組轉換爲QtGui.QImage。但我不知道該怎麼做。我已經發現這一點:http://kogs-www.informatik.uni-hamburg.de/~meine/software/qimage2ndarray/但是當我嘗試安裝此我得到一個錯誤:pyqt:將numpy數組轉換爲QImage

[email protected]:~/rubyWorkSpace/pymcs$ easy_install 
error: No urls, filenames, or requirements specified (see --help) 
[email protected]:~/rubyWorkSpace/pymcs$ easy_install qimage2ndarraySearching for qimage2ndarray 
Reading http://pypi.python.org/simple/qimage2ndarray/ 
Reading http://kogs-www.informatik.uni-hamburg.de/~meine/software/qimage2ndarray 
Reading http://kogs-www.informatik.uni-hamburg.de/~meine/software/qimage2ndarray/dist 
Best match: qimage2ndarray 1.0 
Downloading http://pypi.python.org/packages/source/q/qimage2ndarray/qimage2ndarray-1.0.zip#md5=5e79e1b45b87aa8e18490162adcce8e4 
Processing qimage2ndarray-1.0.zip 
Writing /tmp/easy_install-aWUHHO/qimage2ndarray-1.0/setup.cfg 
Running qimage2ndarray-1.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-aWUHHO/qimage2ndarray-1.0/egg-dist-tmp-SGavOY 
Traceback (most recent call last): 
    File "/home/michael/.local/bin/easy_install", line 9, in <module> 
    load_entry_point('distribute==0.6.27', 'console_scripts', 'easy_install')() 
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1915, in main 
    with_ei_usage(lambda: 
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1896, in with_ei_usage 
    return f() 
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1919, in <lambda> 
    distclass=DistributionWithoutHelpCommands, **kw 
    File "/opt/ActivePython-2.7/lib/python2.7/distutils/core.py", line 152, in setup 
    dist.run_commands() 
    File "/opt/ActivePython-2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands 
    self.run_command(cmd) 
    File "/opt/ActivePython-2.7/lib/python2.7/distutils/dist.py", line 972, in run_command 
    cmd_obj.run() 
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 350, in run 
    self.easy_install(spec, not self.no_deps) 
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 590, in easy_install 
    return self.install_item(spec, dist.location, tmpdir, deps) 
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 620, in install_item 
    dists = self.install_eggs(spec, download, tmpdir) 
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 814, in install_eggs 
    return self.build_and_install(setup_script, setup_base) 
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1094, in build_and_install 
    self.run_setup(setup_script, setup_base, args) 
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1080, in run_setup 
    run_setup(setup_script, args) 
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/sandbox.py", line 30, in run_setup 
    lambda: execfile(
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/sandbox.py", line 78, in run 
    return func() 
    File "/home/michael/.local/lib/python2.7/site-packages/setuptools/sandbox.py", line 32, in <lambda> 
    {'__file__':setup_script, '__name__':'__main__'} 
    File "setup.py", line 3, in <module> 
ImportError: No module named numpy 
[email protected]:~/rubyWorkSpace/pymcs$ python 
Python 2.7.3 (default, Aug 1 2012, 05:16:07) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import numpy 
>>> exit 

#PythonPath 
Python 2.7.3 (default, Aug 1 2012, 05:16:07) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import sys 
>>> from pprint import pprint as pp 
>>> pp(sys.path) 
['', 
'/usr/lib/python2.7', 
'/usr/lib/python2.7/plat-linux2', 
'/usr/lib/python2.7/lib-tk', 
'/usr/lib/python2.7/lib-old', 
'/usr/lib/python2.7/lib-dynload', 
'/home/michael/.local/lib/python2.7/site-packages', 
'/home/michael/.local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info', 
'/usr/local/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages/PIL', 
'/usr/lib/python2.7/dist-packages/gst-0.10', 
'/usr/lib/python2.7/dist-packages/gtk-2.0', 
'/usr/lib/pymodules/python2.7', 
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client', 
'/usr/lib/python2.7/dist-packages/ubuntuone-client', 
'/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', 
'/usr/lib/python2.7/dist-packages/ubuntuone-couch', 
'/usr/lib/python2.7/dist-packages/ubuntuone-installer', 
'/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol'] 


[email protected]:/lib$ python -c "import numpy; print numpy.__file__" 
/usr/lib/python2.7/dist-packages/numpy/__init__.pyc 

當我嘗試修復像ekhumoro錯誤說:

[email protected]:~/rubyWorkSpace/pymcs$ sudo apt-get install python-setuptools 
[sudo] password for michael: 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
python-setuptools is already the newest version. 
python-setuptools set to manually installed. 
The following packages were automatically installed and are no longer required: 
    language-pack-zh-hans language-pack-kde-zh-hans kde-l10n-engb kde-l10n-zhcn 
    language-pack-zh-hans-base language-pack-kde-zh-hans-base 
Use 'apt-get autoremove' to remove them. 
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded. 
[email protected]:~/rubyWorkSpace/pymcs$ /usr/bin/easy_install --user qimage2ndarray 
Searching for qimage2ndarray 
Reading http://pypi.python.org/simple/qimage2ndarray/ 
Reading http://kogs-www.informatik.uni-hamburg.de/~meine/software/qimage2ndarray 
Reading http://kogs-www.informatik.uni-hamburg.de/~meine/software/qimage2ndarray/dist 
Best match: qimage2ndarray 1.0 
Downloading http://pypi.python.org/packages/source/q/qimage2ndarray/qimage2ndarray-1.0.zip#md5=5e79e1b45b87aa8e18490162adcce8e4 
Processing qimage2ndarray-1.0.zip 
Running qimage2ndarray-1.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-WlOZgX/qimage2ndarray-1.0/egg-dist-tmp-YImfzM 
sip: Deprecation warning: qimageview.sip:2: %Module version number should be specified using the 'version' argument 
sip: Unable to find file "QtGui/QtGuimod.sip" 
error: Setup script exited with error: command '/usr/bin/sip' failed with exit status 1 
[email protected]:~/rubyWorkSpace/pymcs$ sudo /usr/bin/easy_install qimage2ndarray 
Searching for qimage2ndarray 
Reading http://pypi.python.org/simple/qimage2ndarray/ 
Reading http://kogs-www.informatik.uni-hamburg.de/~meine/software/qimage2ndarray 
Reading http://kogs-www.informatik.uni-hamburg.de/~meine/software/qimage2ndarray/dist 
Best match: qimage2ndarray 1.0 
Downloading http://pypi.python.org/packages/source/q/qimage2ndarray/qimage2ndarray-1.0.zip#md5=5e79e1b45b87aa8e18490162adcce8e4 
Processing qimage2ndarray-1.0.zip 
Running qimage2ndarray-1.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-cVFRpr/qimage2ndarray-1.0/egg-dist-tmp-Dll6jK 
sip: Deprecation warning: qimageview.sip:2: %Module version number should be specified using the 'version' argument 
sip: Unable to find file "QtGui/QtGuimod.sip" 
error: Setup script exited with error: command '/usr/bin/sip' failed with exit status 1 
[email protected]:~/rubyWorkSpace/pymcs$ 

我不明白這個錯誤因爲顯然進口numpy作品...

如果有人知道另一種方式將numpy數組轉換爲QImage它可能是偉大的。 謝謝。

+0

你在'〜/ .local/lib/python2.7/site-packages'或其他地方有numpy嗎?如果你可以正常導入NumPy,那麼'python -c「import numpy; print numpy .__ file __」'告訴你什麼? –

+0

michael @ laptop-ubuntu:/ lib $ python -c「import numpy; print numpy .__ file__」 /usr/lib/python2.7/dist-packages/numpy/__init__.pyc – msusplugas

+0

所以NumPy安裝在系統默認位置,當你試圖在'.local'中安裝你的軟件包。此時,系統找不到NumPy。你的'PYTHONPATH'看起來像什麼? –

回答

0

回溯顯示您正在嘗試使用安裝在USER_BASE目錄(~/.local/bin/easy_install)下的easy_install安裝軟件包。

這反過來使用安裝在/opt/ActivePython-2.7下的python,該軟件大概沒有安裝numpy軟件包。

但是,看來你的系統蟒蛇(/usr/lib/python2.7),確實已經安裝了numpy軟件包。

所以要修正這個錯誤,請先安裝Ubuntu的軟件包,其中包括easy_install

sudo apt-get install python-setuptools 

然後做兩種:

/usr/bin/easy_install --user qimage2ndarray 

安裝qimage2ndarrayUSER_SITE目錄,或:

sudo /usr/bin/easy_install qimage2ndarray 

要安裝它,以便它在系統範圍內可用。

+0

謝謝你提供這個高質量的答案,但是當我嘗試應用你的修補程序時,我收到了一些錯誤,請參閱最初的編輯帖子。 – msusplugas

+0

@MichaelSusplugas。它看起來像你還需要安裝ubuntu的'python-qt4-dev'包(其中包括缺少'QtGui/QtGuimod.sip'文件)。 – ekhumoro

+0

好吧,現在我可以導入qimage2ndarray。謝謝ekhumoro =) – msusplugas