9

Enthought Python ディストリビューション (7.2、64 ビット) を使用しています。wxPython なしで提供されます (これは非常に重要です)。しかし、wxPython-2.9 は 64 ビットの Cocoa インターフェイスをサポートしているようなので、試してみました。実際、すべてうまくいきました: コマンド

python build-wxpython.py --osx_cocoa --mac_framework --install

コンパイルに成功し、EPD サイト パッケージにも入りました。ただし、単純な wxPython コード

import wx
wx.App()

次のエラーで失敗します。

This program needs access to the screen.
Please run with a Framework build of python, and only when you are
logged in on the main display of your Mac.

これを治す方法を教えてください。EPD は明らかに Python フレームワークです (つまり、/Library/Frameworks/EPD64.framework と /Library/Frameworks/Python.framework を見て確信しました) が、この wxPython ビルドはそれを認識していません。wxPython のバージョンは 2.9.3.1 です

4

3 に答える 3

2

wxpythonこれは、システム python でインストールするためです。main.pyそのため、プロジェクトで定義したその他の要点を変更するだけで、次のように先頭に追加できます。

import site
site.addsitedir("/Users/jazz/.pyenv/versions/py27/lib/python2.7/site-packages/")

そして、で実行します/usr/bin/python

于 2015-03-20T08:39:57.313 に答える
1

このようなラッパースクリプトを使用すると、wxPythonが正しく機能するように環境をセットアップする必要があります。

#!/bin/bash

# Real Python executables to use
PYVER=2.7
PYTHON=/Library/Frameworks/Python.framework/Versions/$PYVER/bin/python$PYVER

# Figure out the root of your EPD env
ENV=`$PYTHON -c "import os; print os.path.abspath(os.path.join(os.path.dirname(\"$0\"), '..'))"`

# Run Python with your env set as Python's PYTHONHOME
export PYTHONHOME=$ENV
exec $PYTHON "$@"

ファイルにダンプし、実行可能ファイルを付与し、Python実行可能ファイルの代わりにwxPythonアプリを起動するために使用するだけです。

于 2012-10-04T22:07:37.997 に答える