web-dev-qa-db-ja.com

Anacondaのpython-snappyで使用するためにWindows10にsnappyCライブラリをインストールする方法は?

インストールしたい Pythonの寄木細工 Windows10のAnaconda2インストール内でpipを使用します。

インストール中に、説明されているエラーが発生しました ここ 、インストーラーはsnappy-c.hを見つけることができません。

回答には、これをWindowsにインストールする方法についての言及はありません。

Snappyライブラリを http://google.github.io/snappy/ からダウンロードしましたが、行き詰まりました。

エラーメッセージから、ヘッダーファイルはC:\Users\...\AppData\Local\Continuum\Anaconda2\includeにある必要があると思いましたが、ダウンロードされたアーカイブヘッダーとライブラリファイルはすべて同じフォルダーにあります。

これらをAnacondaフォルダーに正しくインストールするにはどうすればよいですか?

完全なエラーメッセージ:

Building wheels for collected packages: python-snappy
  Running setup.py bdist_wheel for python-snappy ... error
  Complete output from command C:\Users\...\AppData\Local\Continuum\Anaconda2\python.exe -u -c "import setup
tools, tokenize;__file__='c:\\users\\...\\appdata\\local\\temp\\pip-build-kl4zef\\python-snappy\\setup.py';f=ge
tattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec
'))" bdist_wheel -d c:\users\...\appdata\local\temp\tmpt8fz9bpip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-AMD64-2.7
  copying snappy.py -> build\lib.win-AMD64-2.7
  running build_ext
  building '_snappy' extension
  creating build\temp.win-AMD64-2.7
  creating build\temp.win-AMD64-2.7\Release
  C:\Users\...\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\AMD64\cl.exe /c /nol
ogo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Users\...\AppData\Local\Continuum\Anaconda2\include -IC:\Users\...
\AppData\Local\Continuum\Anaconda2\PC /Tpsnappymodule.cc /Fobuild\temp.win-AMD64-2.7\Release\snappymodule.obj
  snappymodule.cc
  snappymodule.cc(31) : fatal error C1083: Cannot open include file: 'snappy-c.h': No such file or directory
  error: command 'C:\\Users\\...\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\V
C\\Bin\\AMD64\\cl.exe' failed with exit status 2
8
Khris

Cファイルを機能させるためにさまざまな方法を試してみて、非常に長くてイライラした後、私はこのサイトを見つけました。

http://www.lfd.uci.edu/~gohlke/pythonlibs/

C. Gohlkeが、Windowsユーザー向けにファイルをコンパイルしてアップロードしたところ。

システムに基づいて必要なバージョンとpythonバージョンをダウンロードするだけです。64ビットとpython 3.6を使用しているので、ダウンロードフォルダーから次のコマンドを使用しました。 :

pip install python_snappy-0.5-cp36-cp36m-win_AMD64.whl

それは魅力のように働いた:)

18
TitoOrt

(Anacondaで)物事を単純化する必要があるCondaパッケージがあるようです。私はできました(Python 3.6、Windows 10):

conda install -c conda-forge snappy
conda install -c conda-forge python-snappy
3
4Oh4

編集:このスレッドの他の回答を参照してください。参照用にこれを維持するだけです。

SnappyとPython-SnappyをWindows10にインストールするために必要な手順は次のとおりです。

  1. Cygwinをインストールします。
  2. http://google.github.io/snappy/ からsnappyをダウンロードし、cygwinディレクトリのどこかに解凍します。
  3. AM_PROG_ARconfigure.acの上のLT_INITに書き込み、cygwinターミナルからautogen.shを実行し、必要に応じて不足しているcygwinパッケージをインストールします。
  4. snappy-c.hAnaconda2/includeフォルダーにコピーし、libsnappy.aAnaconda2/Libフォルダー(~/AppData/Local/Continuum/内)にコピーします。
  5. stdint.hがVisualC++コンパイラでPython 2.7。、見つかりました here で、~\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\includeに入れました。
  6. Python-snappyのインストールは、エラーをスローせずに機能するはずです。
  7. 問題が発生して奇妙なインポートが発生した場合は、 SnapPyライブラリ もインストールされているかどうかを確認し、競合が発生するためアンインストールしてください。

(現在、すべて正常に動作しています。)

編集:いいえ、そうではありません。この方法は信頼できません。更新しようとすると、新しい問題が発生します。そして、Python 3にインストールすることは、このソリューションで取り組まれていないもう1つのモンスターです。

2
Khris