Portál AbcLinuxu, 9. května 2025 00:15

Dotaz: Python protocol buffers

12.11.2014 08:48 Wex | skóre: 7
Python protocol buffers
Přečteno: 410×
Odpovědět | Admin
Dobrý den,
snažím se rozjet podporu google protocol buffers na Ubuntu pro python. Nainstaloval jsem balíček python-protobuf, zkoušel jsem i instalaci ze zdrojových kódů, ale stále nejde naimportovat balíček google.protobuf:
 >>> import google.protobuf
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named google.protobuf
Nějaké další infomace:
vaclav@gravy:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:        14.04
Codename:       trusty
vaclav@gravy:~$ python -V
Python 2.7.8 :: Anaconda 2.1.0 (64-bit)
vaclav@gravy:~$ echo $PYTHONPATH
/home/vaclav/caffe/python
vaclav@gravy:~$ dpkg -L python-protobuf
/.
/usr
/usr/lib
/usr/lib/python2.7
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/google
/usr/lib/python2.7/dist-packages/google/protobuf
/usr/lib/python2.7/dist-packages/google/protobuf/__init__.py
/usr/lib/python2.7/dist-packages/google/protobuf/service.py
/usr/lib/python2.7/dist-packages/google/protobuf/message.py
/usr/lib/python2.7/dist-packages/google/protobuf/descriptor.py
/usr/lib/python2.7/dist-packages/google/protobuf/message_factory.py
/usr/lib/python2.7/dist-packages/google/protobuf/compiler
/usr/lib/python2.7/dist-packages/google/protobuf/compiler/__init__.py
/usr/lib/python2.7/dist-packages/google/protobuf/compiler/plugin_pb2.py
/usr/lib/python2.7/dist-packages/google/protobuf/descriptor_database.py
/usr/lib/python2.7/dist-packages/google/protobuf/service_reflection.py
/usr/lib/python2.7/dist-packages/google/protobuf/reflection.py
/usr/lib/python2.7/dist-packages/google/protobuf/text_format.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal
/usr/lib/python2.7/dist-packages/google/protobuf/internal/decoder.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/api_implementation.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/containers.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/__init__.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/enum_type_wrapper.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/message_listener.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/wire_format.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/python_message.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/encoder.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/type_checkers.py
/usr/lib/python2.7/dist-packages/google/protobuf/descriptor_pool.py
/usr/lib/python2.7/dist-packages/google/protobuf/descriptor_pb2.py
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info/dependency_links.txt
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info/namespace_packages.txt
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info/PKG-INFO
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info/requires.txt
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info/top_level.txt
/usr/share
/usr/share/python
/usr/share/python/ns
/usr/share/python/ns/python-protobuf
/usr/share/doc
/usr/share/doc/python-protobuf
/usr/share/doc/python-protobuf/README.Debian
/usr/share/doc/python-protobuf/changelog.Debian.gz
/usr/share/doc/python-protobuf/copyright
vaclav@gravy:~$ protoc --version
libprotoc 2.6.1
V pythonu programovat nemumím, tak je možné, že je to nějaká drobnost, ale už si nevím rady.
Předem děkuji za pomoc.
Václav

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.11.2014 09:06 Marek Sulik
Rozbalit Rozbalit vše Re: Python protocol buffers
Odpovědět | | Sbalit | Link | Blokovat | Admin
A nepomoze iba:

import protobuff

alebo

import proto
12.11.2014 09:07 Marek Sulik
Rozbalit Rozbalit vše Re: Python protocol buffers
import protobuf

,nie

import protobuff
12.11.2014 09:40 Wex | skóre: 7
Rozbalit Rozbalit vše Re: Python protocol buffers
Teď jsem pro jistotu zkoušel všechny tři varianty a nepomohla ani jedna. Ale děkuji za reakci.
12.11.2014 09:50 Marek Sulik
Rozbalit Rozbalit vše Re: Python protocol buffers
skús ešte nastavit PYTHONPATH na: PYTHONPATH=/home/vaclav/caffe/python:/usr/lib/python2.7/dist-packages

12.11.2014 10:36 Wex | skóre: 7
Rozbalit Rozbalit vše Re: Python protocol buffers
Ano, toto pomohlo. v PYTHONPATH nebyla cesta k těmto balíčkům.
Díky moc.
Václav
Fuky avatar 12.11.2014 09:45 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Python protocol buffers
Odpovědět | | Sbalit | Link | Blokovat | Admin

Co vypisuje:

$ ipython
In [1]: sys.path
Out[1]: 
['',
 '/usr/bin',
 ...
 '/usr/lib/python2.7']
-- RÁMO: psí tábor , ETriatlon: Výuka plavání
12.11.2014 10:41 Wex | skóre: 7
Rozbalit Rozbalit vše Re: Python protocol buffers
Výpis před opravou (nejdříve jsem musel importovat balíček sys):
Out[2]:
['',
 '/home/vaclav/anaconda/bin',
 '/home/vaclav/caffe/python',
 '/home/vaclav/anaconda/lib/python27.zip',
 '/home/vaclav/anaconda/lib/python2.7',
 '/home/vaclav/anaconda/lib/python2.7/plat-linux2',
 '/home/vaclav/anaconda/lib/python2.7/lib-tk',
 '/home/vaclav/anaconda/lib/python2.7/lib-old',
 '/home/vaclav/anaconda/lib/python2.7/lib-dynload',
 '/home/vaclav/anaconda/lib/python2.7/site-packages',
 '/home/vaclav/anaconda/lib/python2.7/site-packages/PIL',
 '/home/vaclav/anaconda/lib/python2.7/site-packages/Sphinx-1.2.3-py2.7.egg',
 '/home/vaclav/anaconda/lib/python2.7/site-packages/runipy-0.1.1-py2.7.egg',
 '/home/vaclav/anaconda/lib/python2.7/site-packages/setuptools-5.8-py2.7.egg',
 '/home/vaclav/anaconda/lib/python2.7/site-packages/IPython/extensions',
 '/home/vaclav/.ipython']
výpis po opravě:
Out[2]:
['',
 '/home/vaclav/anaconda/bin',
 '/usr/lib/python2.7/dist-packages',
 '/home/vaclav/caffe/python',
 '/home/vaclav/anaconda/lib/python27.zip',
 '/home/vaclav/anaconda/lib/python2.7',
 '/home/vaclav/anaconda/lib/python2.7/plat-linux2',
 '/home/vaclav/anaconda/lib/python2.7/lib-tk',
 '/home/vaclav/anaconda/lib/python2.7/lib-old',
 '/home/vaclav/anaconda/lib/python2.7/lib-dynload',
 '/home/vaclav/anaconda/lib/python2.7/site-packages',
 '/home/vaclav/anaconda/lib/python2.7/site-packages/PIL',
 '/home/vaclav/anaconda/lib/python2.7/site-packages/Sphinx-1.2.3-py2.7.egg',
 '/home/vaclav/anaconda/lib/python2.7/site-packages/runipy-0.1.1-py2.7.egg',
 '/home/vaclav/anaconda/lib/python2.7/site-packages/setuptools-5.8-py2.7.egg',
 '/home/vaclav/anaconda/lib/python2.7/site-packages/IPython/extensions',
 '/home/vaclav/.ipython']
opraveno pomocí
export PYTHONPATH=/usr/lib/python2.7/dist-packages:${PYTHONPATH}
Všem děkuji za pomoc.
Václav
Fuky avatar 12.11.2014 11:27 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Python protocol buffers

Dle tvého výpisu máš nastavený sys.prefix na /home/vaclav/anaconda. Máš nějaký důvod pro to, že nepoužíváš Python a jeho balíčky přímo z distribuce? Pokud by jsi to udělal, tak tebou popisovaný problém ani nenastane.

BTW: Ještě by pro tebe mohlo být užitečné:

# aptitude install python-pip
$ python -m site
site — Site-specific configuration hook
Modifying Python’s Search Path

13.11.2014 09:48 Wex | skóre: 7
Rozbalit Rozbalit vše Re: Python protocol buffers
Snažil jsem se rozjet Caffe a v instalačním návodu doporučovali instalaci Anacondy. Jestli ty cesty upravila ta instalace nebo pak nějak já, netuším. Stránky si prostuduji. Děkuji.
Václav

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.