1

次の行は、tk-windowインスタンスを閉じるとすぐにipythonでクラッシュを引き起こしますa

import visual, Tkinter
a = Tkinter.Tk()
a.update()
display = visual.display(title = "Hallo")
display.exit = 0
visual.sphere()

最初にビジュアルディスプレイを閉じると、端末全体がクラッシュします。私はすべてをkubuntu8.10で実行します。これはバグですか、それとも私は何か間違ったことをしていますか?これがバグの場合:それを回避する賢い方法はありますか?

乾杯、フィリップ

4

1 に答える 1

1

-gthread -tkコマンドラインスイッチを使用してipythonを起動してみましたか?

差出人ipython --help

       -gthread、-qthread、-q4thread、-wthread、-pylab

              これらのうち1つだけを指定でき、次のようにのみ指定できます。
              IPythonに渡される最初のオプション(どのオプションにも影響はありません)
              他の位置)。GTK、QTのスレッドサポートを提供します
              およびWXWidgetsツールキット、およびmatplotlibライブラリ用。

              最初の4つのオプションのいずれかを使用して、IPythonは実行を開始します
              グラフィカルツールキットの操作用に別のスレッドを使用して、
              内からグラフィック要素を開いて制御できます
              ブロックせずにIPythonコマンドライン。4つすべてが提供します
              GTK、QT3、それぞれについて本質的に同じ機能
              QT4およびWXWidgets(Pythonインターフェース経由)。

              -wthreadを使用すると、-wxversionを追加で使用できることに注意してください
              使用するwxの特定のバージョンを要求するオプション。これ
              'wxversion'Pythonモジュールがインストールされている必要があります。
              これは最近のwxPythonディストリビューションの一部です。

              -pylabを指定すると、IPythonはマットの特別なサポートをロードします-
              plotlibライブラリ(http://matplotlib.sourceforge.net)、許可
              で定義されているバックエンドのインタラクティブな使用法
              ユーザーの.matplotlibrcファイル。GTK、QTを自動的にアクティブにします
              またはmatplotlibバックエンドを選択した場合はIPyhtonのWXスレッド
              それが必要です。また、%runコマンドを正しく変更します
              matplotlibベースのスクリプトを(ブロックせずに)実行します。
              最後にshow()を呼び出します。

       -tk -g / q / q4 / wthreadオプション、および-pylab(matplotlibが
              GTK、QT、またはWXを使用するように構成されている場合)、通常はTkをブロックします
              グラフィカルインターフェイス。これは、GTK、QT、またはWXの場合
              スレッドがアクティブであるため、TkGUIを開こうとすると次のようになります。
              デッドウィンドウ、そしておそらくPythonインタプリタに
              クラッシュ。これに対処するために、追加のオプション-tkを使用できます。
              問題。これは、いずれかの後の2番目のオプションとしてのみ指定できます。
              上記(-gthread、-qthread、q4thread、-wthread、または-pylab)。

              -tkが指定されている場合、IPythonはTkスレッドを調整しようとします
              GTK、QTまたはWXで。ただし、これは潜在的に信頼性が低く、
              プラットフォームとPython構成でテストする必要があります
              それがあなたのために働くかどうかを決定するために。Debianユーザーは
              明らかにDebianがビルドするという事実のために成功を報告しました
              pthreadをサポートするTcl、Tk、Tkinter、Pythonのすべて。下
              他のLinux環境(Fedora Core 2/3など)、このオプション
              Pythonインタープリターのランダムなクラッシュとロックアップを引き起こしました。
              他のオペレーティングシステム(Mac OSXおよびWindows)では、
              現在、ユーザーレポートはないので、調べてみてください
              利用可能。

              残念ながら、IPythonが実行時に判断する方法はありません-
              -tkが確実に機能するかどうかの時間なので、
              通常の作業に頼る前に、いくつかの実験を行ってください。
于 2009-04-27T10:15:50.277 に答える