1

以前の質問で指摘されたインストールの問題はまだ存在しています。Z3 4.3.0 および 4.1 を Windows XP SP3 32 ビットおよび Windows 7 64 ビットにインストールしようとしました。どの組み合わせもうまくいきません!from z3 import *" "は実行できますinit()が、Z3 dll の実行に失敗します。私の Python バージョンは 2.7.3 です。Z3 スタンドアローンと Python スタンドアローンは動作しますが、多くの不満なしに一緒に動作することはありません。

次の質問に答える最新のインストール レシピを入手すると役立ちます。

どの Z3 ダウンロード (ソース バージョン、プリコンパイル バージョン) を使用する必要がありますか?

どの Python バージョンを使用する必要がありますか?

init() 呼び出しで、どの Z3 DLL を参照する必要がありますか? 例が役立ちます (空白を含むパスの生の文字列の使用を含む)。

どの Z3 Python ソース ファイルを使用する必要がありますか (Z3 の一部のダウンロードには *.py ファイルが含まれ、他には *.pyc ファイルが含まれます)。コンパイルされた Python ファイルは、複数の Python バージョンと互換性がありますか?

PATH と PYTHONPATH を設定するには?

Z3 初期化が自動的に提供されるような方法で Python の IDLE シェルを呼び出す方法は?

申し訳ありませんが、これが初心者の質問のように聞こえるかもしれませんが...

4

2 に答える 2

6

クリストフの答えは正しいです。ありがとうございました!

ここに他の人を助けることができるいくつかの詳細があります. (それに応じてパスを調整してください)

の変更されたidle.batスクリプトPython 2.7.3 (64-bit):

@echo off
rem Start IDLE using the appropriate Python interpreter
setlocal
set PATH=%PATH%;X:\my\Programme\z3-4.3.0-x64\bin
set PYTHONPATH=X:\my\Programme\z3-4.3.0-x64\bin
set CURRDIR=%~dp0
start "IDLE" "%CURRDIR%..\..\pythonw.exe" "%CURRDIR%idle.pyw" %1 %2 %3 %4 %5 %6 %7 %8 %9
endlocal

z3パスは inおよびPATH inである必要がありPYTHONPATHます。

Python/Idleシェルの最初の 2 つのステートメント:

from z3 import *
init(r"X:\my\Programme\z3-4.3.0-x64\bin\libz3.dll")

(通常の文字として扱われるバックスラッシュを含む生の文字列を示す「r」に注意してください)

于 2013-02-14T21:28:27.403 に答える
1

Windows XP は、Z3 が必要とする DLL 内のスレッド ローカル ストレージをサポートしていません。現在、その修正に取り組んでいますが、いずれにせよ、修正されたとしても、独自の DLL をコンパイルする必要があることを意味します。

Windows 7 では、そのままで動作するはずです。ただし、すべてが 64 ビット用にコンパイルされているか、何もコンパイルされていないかを確認する必要があります。32 ビットの Python バージョンを使用している場合、64 ビットの DLL をロードすることはできず、その逆も同様です。Python.orgには 2 つのダウンロードがあり、そのうちの 1 つは 64 ビット バージョンである X86-64 というラベルが付いています。

最後に、libz3.dll と *.pyc/py が配置されているディレクトリを PYTHONPATH に追加する必要があります。これをシステム全体 (コントロール パネル、システム、高度なシステム設定、高度な設定、環境変数) で設定すると、IDLE にもそれが表示されます。

于 2013-02-13T14:45:35.317 に答える