intake / intake/python-snappy

IOError on Python 2.7 / No such directory __pycache__/

Abierto
#49 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
490
Forks
104
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I try to use snappy which use cffi with a non-root user that can't create the __pycache__/ dir.
I got :
```
STDERR: Traceback (most recent call last):
File "/opt/graphite/pypy/bin/django-admin", line 11, in
sys.exit(execute_from_command_line())
File "/opt/graphite/pypy/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/opt/graphite/pypy/site-packages/django/core/management/__init__.py", line 302, in execute
settings.INSTALLED_APPS
File "/opt/graphite/pypy/site-packages/django/conf/__init__.py", line 55, in __getattr__
self._setup(name)
File "/opt/graphite/pypy/site-packages/django/conf/__init__.py", line 43, in _setup
self._wrapped = Settings(settings_module)
File "/opt/graphite/pypy/site-packages/django/conf/__init__.py", line 99, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/opt/pypy/pypy-5.7.1-linux_x86_64-portable/lib-python/2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/opt/graphite/webapp/graphite/settings.py", line 160, in
from graphite.local_settings import * # noqa
File "/opt/graphite/webapp/graphite/local_settings.py", line 53, in
from graphite.local_settings_dynamic import *
File "/opt/graphite/webapp/graphite/local_settings_dynamic.py", line 1, in
from biggraphite.plugins import graphite
File "/opt/graphite/pypy/site-packages/biggraphite/plugins/graphite.py", line 30, in
from biggraphite import graphite_utils
File "/opt/graphite/pypy/site-packages/biggraphite/graphite_utils.py", line 17, in
from biggraphite import utils as bg_utils
File "/opt/graphite/pypy/site-packages/biggraphite/utils.py", line 22, in
from biggraphite.drivers import cassandra as bg_cassandra
File "/opt/graphite/pypy/site-packages/biggraphite/drivers/cassandra.py", line 34, in
from cassandra import cluster as c_cluster
File "/opt/graphite/pypy/site-packages/cassandra/cluster.py", line 46, in
from cassandra.connection import (ConnectionException, ConnectionShutdown,
File "/opt/graphite/pypy/site-packages/cassandra/connection.py", line 80, in
import snappy
File "/opt/graphite/pypy/site-packages/snappy.py", line 50, in
from snappy_cffi import UncompressError, compress, decompress, \
File "/opt/graphite/pypy/site-packages/snappy_cffi.py", line 169, in
''', libraries=["snappy"])
File "/opt/pypy/pypy-5.7.1-linux_x86_64-portable/lib_pypy/cffi/api.py", line 438, in verify
lib = self.verifier.load_library()
File "/opt/pypy/pypy-5.7.1-linux_x86_64-portable/lib_pypy/cffi/verifier.py", line 113, in load_library
self._write_source()
File "/opt/pypy/pypy-5.7.1-linux_x86_64-portable/lib_pypy/cffi/verifier.py", line 202, in _write_source
with open(self.sourcefilename, "w") as fp:
IOError: [Errno 2] No such file or directory: '/opt/graphite/pypy/site-packages/__pycache__/_cffi__g762f05ffx6bf5342b.c'
```

As far as I understand, it calls a deprecated method of cffi (http://cffi.readthedocs.io/en/latest/whatsnew.html?#v1-0-0).
A workaround would be to create __pycache__/ directory at the installation as root.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza en snappy_cffi.py alrededor de la llamada a verify de cffi y compárala después con la API de cffi referenciada en el issue y el traceback de verifier.py. Reproduce el caso de instalación de Python 2.7 sin privilegios de root; se considera terminado cuando importar snappy ya no falla si __pycache__ todavía no existe.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
backend
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.