python - protobuf - protocol buffers google
Ningún módulo llamado google.protobuf (9)
De acuerdo con sus comentarios, ha multiplicado las versiones de python, lo que podría ocurrir es que instale el paquete con pip de anthor python
pip es en realidad un enlace al script que descarga e instala tu paquete.
dos posibles soluciones:
- vaya a $ (PYTHONPATH) / Scripts y ejecute pip desde esa carpeta para asegurarse de que utiliza el pip correcto
- cree un alias para pip que apunte a $ (PYTHONPATH) / Scripts / pip y luego ejecute pip install
¿Cómo sabrás que funcionó? Simple si se usa el nuevo pip, el paquete se instalará exitosamente, de lo contrario el paquete ya está instalado
Estoy tratando de ejecutar el sueño profundo de Google. Por alguna extraña razón sigo recibiendo
ImportError: No hay módulo llamado google.protobuf
Después de intentar importar protobuf. He instalado protobuf usando sudo install protobuf
. Estoy ejecutando python 2.7 OSX Yosemite 10.10.3.
Creo que puede ser un problema de ubicación de implementación pero no puedo encontrar nada en la web al respecto. Actualmente implementando en /usr/local/lib/python2.7/site-packages.
En mi caso yo
Descargado el código fuente, compilado e instalado:
$ ./configure $ make $ make check $ sudo make install`
para python localicé su carpeta (python) bajo el código fuente y ejecuté los comandos:
$ python setup.py build $ python setup.py install''
No estoy seguro si esto podría ayudarte.
En mi caso, MacOS tiene el permiso de control. sudo -H pip3 install protobuf
Existe otra posibilidad, si está ejecutando un python 2.7.11 u otras versiones similares,
sudo pip install protobuf
esta bien
Pero si estás en un entorno anaconda, debes usar
conda install protobuf
Instalé el protobuf con este comando:
conda install -c anaconda protobuf=2.6.1
(Debes revisar la versión de protobuf)
La ubicación del directorio de google
en el directorio de site-packages
(para el último directorio apropiado, por supuesto) y la creación manual de un __init__.py
(vacío) resolvieron este problema para mí.
(Tenga en cuenta que dentro de este directorio se encuentra el directorio protobuf
, pero mi instalación de Python 2.7 no aceptó los paquetes de estilo nuevo, por lo que el __init__.py
era necesario, incluso si estaba vacío, para identificar la carpeta como una carpeta de paquetes).
... En caso de que esto ayude a alguien en el futuro.
Recibí el mismo mensaje de error cuando intenté usar Tensor Flow. La solución fue simplemente desinstalar Tensor Flow y protobuf:
$ sudo pip uninstall protobuf
$ sudo pip uninstall tensorflow
Y vuelva a instalarlo: pip instalación de Tensorflow . Actualmente, esto es:
# Ubuntu/Linux 64-bit, CPU only:
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
# Ubuntu/Linux 64-bit, GPU enabled:
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
# Mac OS X, CPU only:
$ sudo easy_install --upgrade six
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0rc0-py2-none-any.whl
Tuve este problema hasta cuando tuve un archivo google.py en mis archivos de proyecto.
Es bastante fácil de reproducir.
main.py: import tensorflow as tf
google.py: print("Protobuf error due to google.py")
No estoy seguro si esto es un error y dónde reportarlo.
cuando ordeno pip instalar protobuf , me sale el error:
No se puede desinstalar ''seis''. Se trata de un proyecto instalado de distutils y, por lo tanto, no podemos determinar con precisión qué archivos pertenecen a él, lo que llevaría a una desinstalación parcial.
Si tiene el mismo problema que yo, debe hacer los siguientes comandos.
pip install --ignore-installed six sudo pip install protobuf