32

pycairoDjango プロジェクトで使用する virtualenv にインストールしようとしました。pip install pycairo==1.10.0などの他のコマンドとは異なり、パッケージを見つけてダウンロードするコマンドを実行しましたpip install pycairoが、パッケージのインストールを開始するとエラーがスローされます。

ログは次のとおりです。

Downloading/unpacking pycairo==1.10.0
  Running setup.py egg_info for package pycairo
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
    IOError: [Errno 2] No such file or directory:
'/home/radu/Desktop/djangos/workout/venv/build/pycairo/setup.py'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):

File "<string>", line 14, in <module>

IOError: [Errno 2] No such file or directory:
'/home/radu/Desktop/djangos/workout/venv/build/pycairo/setup.py'

----------------------------------------
Command python setup.py egg_info failed with error code 1 in 
/home/radu/Desktop/djangos/workout/venv/build/pycairo
Storing complete log in /home/radu/.pip/pip.log

どうすればいいのかヒントを教えてください。パッケージの setup.py ファイルを書き込んでからインストールする必要がありますか? (それが解決策であるかどうかはわかりません。私はまだ何ができるかを理解しようとしています)。

前もって感謝します!

4

6 に答える 6

66

皆さん、朗報です!

cairocffi をリリースしました: http://packages.python.org/cairocffi/

これは、virtualenv に pip でインストールされ、Python 2 と 3、および PyPy で実行される pycairo の代替品です。

pip install cairocffi

あなたのコードで:

import cairocffi as cairo
# Enjoy the same API as Pycairo.

フィードバック歓迎。(ただし、課題トラッカーはここよりも優れたチャネルかもしれません。)

于 2013-01-07T23:14:46.830 に答える
24

py2cairo は pip を使用してうまくインストールできませんが、ディストリビューションの INSTALL ファイルのビルド手順を使用して py2cairo を仮想環境にインストールすることはできます。

パッケージをビルドするには、OS に cairo-dev/cairo-devel パッケージがインストールされている必要があります。

仮想環境にインストールするには、次の手順を実行します。

  1. py2cairo ディレクトリにダウンロードして解凍し、cd します。
  2. 仮想環境をアクティブ化する
  3. 標準のビルド手順に従う

./waf configure --prefix=$VIRTUAL_ENV

./waf build

./waf install

于 2012-11-07T22:59:18.643 に答える
11

pycairoは現在、pip/distutilsを介したインストールをサポートしていません。プロジェクトのインストールドキュメントでは、wafまたはautotoolsのいずれかを使用するように指示されています。

virtualenvでpycairoを使用するには、次のことを行う必要があります。

  • pycairoをシステム全体にインストールします。できれば、ディストリビューションのパッケージを使用してインストールします。
  • 次に、次のいずれかを行います。
    1. オプションを使用してvirtualenvを作成する--system-site-packagesか、事後にファイルを削除しlib/pythonX.Y/no-global-site-packages.txtます。
    2. cairoまたは、パッケージ(を含むディレクトリ)にシンボリックリンクを追加します_cairo.so。このようなもの:
      ln -s /usr/lib/python2.7/site-packages/cairo ./venv/lib/python2.7/site-packages
      

もちろん、1。には、システム全体にインストールされている他のパッケージからvirtualenvを分離してもメリットがないという欠点があります。

于 2012-07-27T10:32:01.450 に答える
3

Homebrewおよびvirtualenvと組み合わせてpycairo(Python 2.7用)を使用しようとしている人のために--no-site-packages...これは私のために働いた:

  1. brew install py2cairo

  2. 次に、Homebrew がインストールしたパスを見つけます。次のようになります。

    ls -l /usr/local/lib/python2.7/site-packages/cairo/
    total 24
    lrwxr-xr-x  1 anentropic  admin   80 10 Jun 14:26 __init__.py -> ../../../../Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/__init__.py
    lrwxr-xr-x  1 anentropic  admin   78 10 Jun 14:26 _cairo.so -> ../../../../Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/_cairo.so
    
  3. 次のような、これらのシンボリック リンクのベースにあるパスを見つけたいとします。
    /usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages

  4. 次に、virtualenv サイト パッケージに .pth ファイルを作成します。
    echo "/usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages" > venv/lib/python2.7/site-packages/cairo.pth

(幸運のためにvirtualenvを非アクティブ化して再アクティブ化することをお勧めしますが、わかりません)

于 2013-06-10T14:33:32.887 に答える
-1

Homebrew を使用している場合は、pycairo(Python 3+) およびpy2cairo(Python 2.6-2.7) レシピをインストールできます。

brew install pycairo

于 2013-06-03T21:25:30.383 に答える