Ошибка установки python-snappy: snappy-ch: Нет такого файла или каталога

Я использую amazon ec2 ubuntu 11.04 server

 sudo pip install python-snappy 

также я попытался скачать пакет и ввел "sudo python setup.py install"

Я получил ошибку:

  running build
  running build_ext
  building 'snappy' extension
  gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c snappymodule.cc -o build/temp.linux-x86_64-2.7/snappymodule.o
  cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
  snappymodule.cc:31:22: fatal error: snappy-c.h: No such file or directory
  compilation terminated.
  error: command 'gcc' failed with exit status 1

Как я мог избавиться от этой ошибки?

источник: https://github.com/andrix/python-snappy

14 ответов

Решение

Вам нужна библиотека Snappy C

Затем вы должны установить оболочку Python-Snappy.

Кажется, вы не установили библиотеку Snappy-C

Попробуй.. как уже товарищ прокомментировал твой пост

Вы можете установить библиотеку Snappy C с помощью следующих команд:

DEB на основе: sudo apt-get install libsnappy-dev

RPM на основе: sudo yum install libsnappy-devel

Brew: brew install snappy

По репо

Как установить его на Mac OS X?

Несколько раз сообщалось (проблемы № 7 и № 23), что невозможно правильно установить библиотеку в Mac. Процедура должна быть,

$ brew install snappy # snappy library from Google 
$ CPPFLAGS="-I/usr/local/include -L/usr/local/lib" pip install python-snappy

У меня были некоторые проблемы с быстрой установкой. Наконец загрузили материал для предварительной сборки, предложенный https://www.lfd.uci.edu/~gohlke/pythonlibs/ и все прошло хорошо. (Неофициальные двоичные файлы Windows для пакетов расширения Python)

  1. Вы загружаете snappy lib здесь: https://code.google.com/p/snappy/
  2. Извлеки это
  3. Установка с помощью командной строки: $: ./configure $: make $: make install
  4. Установить python-snappy: $: pip установить python-snappy

Для Oracle Linux с Python 3.X:

вам нужно включить репозиторий optional_latest в качестве первого шага,

  1. использовать для включения следующего репо

    $ yum-config-manager --enable ol7_optional_latest

    Репо "ol7_optional_latest" будет включено для поиска yum.

  2. затем установите пакеты, используя,

    $ yum -y install gcc gcc-c++ snappy snappy-devel

  3. затем с помощью pip установите пакет python-snappy,

    $ pip3 install python-snappy

Вам нужно проверить вывод для

rpm -q snappy-devel

Если его нет, установите его с помощью этой команды:

yum install snappy-devel

Было много проблем с установкой на El Capitan, с ошибкой, сообщавшей, что файл snappy-ch не найден.

Пришлось установить snappy из файла tar.gz https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz

распусти и беги

./configure
make
make install

это поместит заголовочный файл в /usr/local/include

Затем необходимо установить FLAGS для компилятора cc, чтобы найти файл заголовка:

export DYLD_LIBRARY_PATH=/usr/local/include
export CPPFLAGS="-I/usr/local/include/snappy-c.h"
export CFLAGS="-I/usr/local/include/snappy-c.h"
export CXXFLAGS="-I/usr/local/include/snappy-c.h"
export LDFLAGS="-L/usr/local/lib"

а затем я установил python-snappy из файла яйца https://pypi.python.org/packages/b1/fe/1d632cdac5dbb5ce84db778af7f733eb469130d8cf4c02f6cd9057a96768/snappy-2.4.1-py2.7-macosx-10.5-intel.egg#md5=b76558c71f1d97feeb8402c345e466bf

ты можешь попробовать с pip install python-snappyно изначально не удалось найти файл заголовка, поэтому я пошел за файл яйца

установить яйцо:

easy_install <eggfile>
python setup.py build
python setup.py install

Если вы используете Mac OS X Catalina, вы можете установить

brew install snappy
CPPFLAGS="-I/usr/local/include -L/usr/local/lib -stdlib=libc++ " pip install python-snappy

как предложено https://github.com/andrix/python-snappy FAQ

Исправление для macOS M1. Вы должны определить абсолютный путь к lib и включить snappy.

      brew install snappy
pip install \                               
  --upgrade --ignore-installed \
  python-snappy==0.5.4 \
  --global-option=build_ext \
  --global-option="-I/opt/homebrew/Cellar/snappy/1.1.9/include" \
  --global-option="-L/opt/homebrew/Cellar/snappy/1.1.9/lib"

Для Windows

  1. Скачать отсюда
  1. Извлеките почтовый индекс.

  2. Скопируйте.hфайлы из папки include. Вставьте в папку установки pythonC:\Users\user\AppData\Local\Programs\Python\Python310\include\

  3. Скопировать из родной папки. Вставьте в папку установки pythonC:\Users\user\AppData\Local\Programs\Python\Python310\libs\

  4. Переименоватьsnappy64.libкsnappy.lib

  5. Вы можете идти. Повторить командуpip install -r .\requirements.txt

Это исправило мою проблему:

yum install gcc-c++  

Чтобы решить эту проблему в Mac OS X с установленным MacPorts, вы можете:

$ sudo port install snappy
$ CPPFLAGS="-I/opt/local/include -L/opt/local/lib" pip install python-snappy

Некоторое время у меня были проблемы с этим. К вашему сведению, я пытаюсь установить Crossbar (https://crossbar.io/docs/Installation-on-Linux/)

Я много погуглил и немного испортил. Я использую Python 3.7.4, и, как мне кажется, моя проблема решена следующим образом:

sudo yum install python-devel

если это не сработает, попробуйте

sudo yum install python3-devel

источник:

https://github.com/giampaolo/psutil/issues/1143

https://github.com/giampaolo/psutil/issues/1143

Другие вопросы по тегам