web-dev-qa-db-ja.com

Ubuntu virtualenvでのピップインストール枕のエラー

Ec2インスタンスがあり、最初にvirtualenvにPillow 2.0をインストールしました。どういうわけか、枕2.5にアップグレードしようとすると、次のメッセージが表示されて失敗しました。再インストールする前に枕を完全に取り外した後でも、エラーは同じです。 (だから今、私は私のvirtualenvで枕を持っていません)

$ pip install Pillow
....
....
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Qunused-arguments -Qunused-arguments -fPIC -DHAVE_LIBJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/home/andycheng/realprice/env/build/pillow/libImaging -I/home/andycheng/realprice/env/include -I/usr/include/tcl8.5 -I/usr/local/include -I/usr/include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -c libImaging/RawDecode.c -o build/temp.linux-x86_64-2.7/libImaging/RawDecode.o

gcc: error: unrecognized option ‘-Qunused-arguments’

gcc: error: unrecognized option ‘-Qunused-arguments’

....
....
gcc: error: build/temp.linux-x86_64-2.7/libImaging/XbmEncode.o: No such file or directory

gcc: error: build/temp.linux-x86_64-2.7/libImaging/ZipDecode.o: No such file or directory

gcc: error: build/temp.linux-x86_64-2.7/libImaging/ZipEncode.o: No such file or directory

gcc: error: build/temp.linux-x86_64-2.7/libImaging/TiffDecode.o: No such file or directory

gcc: error: build/temp.linux-x86_64-2.7/libImaging/Incremental.o: No such file or directory

gcc: error: build/temp.linux-x86_64-2.7/libImaging/Jpeg2KDecode.o: No such file or directory

gcc: error: build/temp.linux-x86_64-2.7/libImaging/Jpeg2KEncode.o: No such file or directory

gcc: error: unrecognized option ‘-Qunused-arguments’

gcc: error: unrecognized option ‘-Qunused-arguments’

error: command 'gcc' failed with exit status 1

----------------------------------------
Cleaning up...
Command /home/andycheng/realprice/env/bin/python -c "import setuptools, tokenize;__file__='/home/andycheng/realprice/env/build/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-U8jA_X-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/andycheng/realprice/env/include/site/python2.7 failed with error code 1 in /home/andycheng/realprice/env/build/Pillow

これが関連しているかどうかはわかりませんが、ログには多くのgcc: error: build/temp.linux-x86_64-2.7/_imaging.o: No such file or directoryエラーがあります。また、gcc: error: unrecognized option ‘-Qunused-arguments’もたくさんあります。

しかし、Pillow 2.5をルートアクセスでインストールすることはできますが、それではvirtualenvにインストールされません。

Sudo pip install Pillow  # this works but wrong directory
pip install -I Pillow==2.0  # gives the same error and would not install

バージョン

PIP:1.5.4

Linux:Ubuntu 12.04.4 LTS(すべてのパッケージがアップグレードされました)

ありがとうございました

43
Andy

最後に、この頭痛の種の答えを見つけました!

.bashrcには2つのフラグ設定があります:

export CFLAGS=-Qunused-arguments                                    
export CPPFLAGS=-Qunused-arguments

.bashrcは私のMacbook Proからコピーされ、これら2つのフラグはXCODEの回避策として必要でした。 Linuxでそれらが壊れると思われます。

これらの2つのフラグを削除すると、pip install Pillowは期待どおりに機能します。

助けてくれてありがとう。

8
Andy

私の場合は、ubuntu 15.04にもlibjpegが不足しているため、インストールが失敗しました。どうやら、枕が必要なライブラリを見つけられないことがあり、それを修正する最も簡単な方法は、devバージョンをインストールして、ユーザーlibsにリンクすることです。編集:ubuntu 16.04でも動作します

Sudo apt-get install python-dev
Sudo apt-get install libjpeg8-dev
Sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib

pip install pillow

部分的な解決策が見つかりました ここ

85
Mr.Coffee

私自身と他の人への注意、これをElementary OS Luna(Ubuntu 12.04)でコンパイルするには、virtualenvに必要なpythonヘッダーをインストールする必要がありますpythonバージョンOPのコメントごとに、デフォルトのpythonバージョンを使用しており、3.4(deadsnakes ppa経由)をテストしています)

Sudo apt-get install python-dev
Sudo apt-get install python3.4-dev

しかし!私はまだ同じエラーを受け取っていました! OPの回答ごとに.bashrcを確認しましたが、一致するエクスポートがありませんでした。それが私を襲った、私はしばらくの間、トラブルシューティングをしていたと私はそれらを設定しようとしたとbashを再起動していなかった他のどこかの答えから。

エクスポートが.bashrcに一致することを確認するために、bashを再起動(またはソースを再ソース)することを忘れないでください!

編集:これはコメントには少し長いですが、実際には答えではありません。必要に応じて変更します。

40
nighliber

私も同じ頭痛がしました...

解決策はドキュメントを読んだ後に見つかりました、それは言います:

バージョン3.0.0以降、枕にはlibjpegが必要です...

したがって、前のものを試してください:

pip install pillow==2.9.0

(python 2.6以降)で動作します)

幸運を!

24

新しいバージョン3.0は動作しません。Djangoで動作するバージョン2.9.0をインストールする必要があります。仮想環境内でこれを行います。

pip install Pillow==2.9.0

これはUbuntuでも動作するはずです。私はElementary OSを使用しています。

10

Ubuntu 16.04 virtualenv

pip install pillow==2.9.0
4
Yao Qian

python開発ヘッダーをインストールする必要がある場合があります。

Sudo apt-get install build-dep python-imaging
2
neo

Fedoraでは、rpm-build私のためにそれを解決しました。 python-develおよびlibjpeg-develもインストールされています。

0
syntagma

CentOSマシンでは、次のことをしなければなりませんでした。

yum install python-devel
0
Raptor