pyqt:将numpy数组转换为QImage

时间:2012-08-28 08:07:27

标签: python qt numpy pyqt easy-install

我需要将numpy数组转换为QtGui.QImage。但我不知道该怎么做。我发现这个:http://kogs-www.informatik.uni-hamburg.de/~meine/software/qimage2ndarray/但是当我尝试安装它时,我收到一个错误:

michael@michael-laptop-ubuntu:~/rubyWorkSpace/pymcs$ easy_install
error: No urls, filenames, or requirements specified (see --help)
michael@michael-laptop-ubuntu:~/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
michael@michael-laptop-ubuntu:~/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']


michael@michael-laptop-ubuntu:/lib$ python -c "import numpy; print numpy.__file__"
/usr/lib/python2.7/dist-packages/numpy/__init__.pyc

当我尝试修复像ekhumoro这样的错误时说:

michael@michael-laptop-ubuntu:~/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.
michael@michael-laptop-ubuntu:~/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
michael@michael-laptop-ubuntu:~/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
michael@michael-laptop-ubuntu:~/rubyWorkSpace/pymcs$ 

我不明白这个错误,因为显然导入numpy工作......

如果有人知道将numpy数组转换为QImage的其他方法,那可能会很棒。 感谢。

1 个答案:

答案 0 :(得分:0)

回溯显示您正尝试使用USER_BASE目录(easy_install)下安装的~/.local/bin/easy_install来安装软件包。

这又是使用安装在/opt/ActivePython-2.7下的python,可能没有安装numpy包。

但是,您的系统python(/usr/lib/python2.7), 似乎已安装numpy软件包。

因此,要修复错误,请先安装包含easy_install

的ubuntu软件包
sudo apt-get install python-setuptools

然后做其中之一:

/usr/bin/easy_install --user qimage2ndarray

qimage2ndarray安装到您的USER_SITE目录,或者:

sudo /usr/bin/easy_install qimage2ndarray

安装它以便在系统范围内可用。