2013-02-13 2 views
1

Проблемы с установкой, указанные в файле earlier question, все еще присутствуют. Я попытался установить Z3 4.3.0 и 4.1 под Windows XP SP3 32-бит и под 64-разрядную версию Windows 7. Ни одна из комбинаций не работает! Я могу сделать «from z3 import *», но ошибка init() из DLL Z3. Моя версия Python - 2.7.3. Z3 автономно и автономно работают Python, но они не работают вместе без большого количества жалоб.Снова: установка Z3 + Python на Windows

Это помогло бы получить рецепт последней дату установки, которая отвечает на следующие вопросы:

которые должны быть использованы Z3 загрузки (источник версии, предкомпилированная версия)?

Какую версию Python следует использовать?

Какую или различные DLL-библиотеки Z3 следует указывать в вызове init()? Пример поможет (включая использование исходной строки для путей с пробелами).

Какие исходные файлы Z3 Python следует использовать (некоторые загрузки Z3 имеют * .py файлы, другие имеют * .pyc-файлы)? Являются ли скомпилированные файлы Python совместимыми с более чем одной версией Python?

Как установить PATH и PYTHONPATH?

Как вызвать оболочку IDLE на Python таким образом, что инициализация Z3 предоставляется автоматически?

К сожалению, если это должно звучать как новичок вопрос, но ...

ответ

1

Windows XP не поддерживает локальную память потока в DLL, которая требует Z3. В настоящее время мы работаем над исправлением, но в любом случае это будет означать, что вам придется составлять собственную DLL, даже если она исправлена.

В Windows 7 он должен работать из коробки. Однако вам нужно убедиться, что либо все, либо ничего не скомпилировано для 64-битного. Если вы используете 32-битную версию python, она не сможет загрузить 64-разрядную DLL и наоборот. В Python.org есть две загрузки, одна из которых обозначена X86-64, которая является 64-разрядной версией.

И, наконец, каталог, в котором находятся libz3.dll и * .pyc/py, должен быть добавлен в PYTHONPATH. Вы можете установить эту общесистемную (панель управления, система, расширенные системные настройки, дополнительные, переменные среды), затем IDLE также увидит это.

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 путь должен быть в PATHи в PYTHONPATH.

Первые два оператора в Python/Idle оболочки:

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

(обратите внимание на «R», что указывает на сырую строку с обратной косой черты рассматриваются как обычные символы)

Смежные вопросы