web-dev-qa-db-ja.com

virtualenvまたはbuildoutを使用したPILのインストールに関する問題

Easy_installまたはbuildoutを使用してPILをインストールすると、そのようにインストールされます。「PILインポートイメージ」ではなく「イメージをインポート」する必要があります。

ただし、「apt-get install python-imaging」を実行するか、「pip -E test_pil install PIL」を使用すると、すべて正常に動作します。

以下は、virtualenvを使用してPILをインストールする方法の例です。

# virtualenv --no-site-packages test_pil
# test_pil/bin/easy_install PIL
# test_pil/bin/python
Python 2.5.1 (r251:54863, Feb  6 2009, 19:02:12) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named PIL

Easy_installはPILをEggにパックしますが、PIPはそうではありません。 buildbotと同じこと、卵を使用します。

Easy_installまたはbuildoutを使用して、どのようにPILを適切にインストールできますか?

70

(著者によって)pypiにパッケージ化されたPILバージョンはsetuptoolsと互換性がないため、easy_installableではありません。他の場所でeasy_installableバージョンを作成しました。現在、find-links URLを指定し、 pip を使用して適切なパッケージを取得する必要があります。

pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL

pip install--no-indexを使用することにより、PILのPyPI(固定されていない)オリジナルを見つけるリスクを回避できます。 easy_installを使用する場合は、修正バージョンのソースtarballへの直接リンクを使用する必要があります。 easy_installは、頑固にまだfind-links URLでPyPIリンクを使用しています:

easy_install http://dist.plone.org/thirdparty/PIL-1.1.7.tar.gz

PILをビルドアウトに含めるには、同じバージョンピンでEggを指定するか、バージョンセクションを使用します。

[buildout]
parts =
find-links =
    http://dist.plone.org/thirdparty/
eggs =
    PIL
versions = versions

[versions]
PIL = 1.1.7

2011年3月編集:パッケージの問題に対処するための修正が PILの開発ツリー にマージされたため、この回避策は間もなく廃止される可能性があります。

2013年2月編集: Pillow を使用するだけで完了です。 :-)明らかに元のパッケージが修正されるのを待っていることは報われていません。

96
Martijn Pieters

枕:「友好的な」PILフォーク :-)を使用します。

  • Setuptoolsとの完全な互換性
  • より速いリリースサイクル
  • PILと異なる画像コードの変更はありません(つまり、すべてのPIL画像コードの変更を追跡し、アップストリームに報告せずに独自の変更を行わないことを目的としています)。
  • Windowsバイナリ

PILがPillowとまったく同じことをすると、フォークは死にます。それが起こるまで、枕があります。

[〜#〜]免責事項[〜#〜]:私はフォークの作成者であり、Pillowは主に仕事を簡単にするために作成されました(素晴らしいですが)他の人々がそれを使用しているのを見ることもできます)。

[〜#〜] edit [〜#〜]:Pillow 2.0.0は2013年3月15日にリリースされました。Python 3のサポートと多くのバグ修正/機能強化。アップストリームPILによる変更の追跡を試みていますが、(残念ながらまたは幸運にも、見方によっては)PillowはPILから離れ始めました。

79
aclark

Ubuntuの場合、pythonバージョン(2.7)のCヘッダーパッケージをインストールする必要があることがわかりました

Sudo apt-get install python2.7-dev

その後、pip install pil働いた。

8
yuvilio

Windowsでは、次のようにPILをvirtualenvにインストールしました。

次の場所から.exeを実行して、グローバルpythonサイトパッケージにPILをインストールします。 http://www.pythonware.com/products/pil/

次に、「do it myself-er」として、C:\ Python25\Lib\site-packagesのPIL.pthファイルとPILディレクトリをvirtualenv site-packagesディレクトリにコピーします。うん、pythonはまだ「手を汚す」環境です...

6