Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Python + Cache / 25 сообщений из 27, страница 1 из 2
29.05.2014, 22:18
    #38656439
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
Кто сабж пробовал?
Установлено Cache 2014.1, поставил Python 3.4.1. в папке \dev\python попробовал поразбираться с примерами (ридми файлы читал, но как то они скомкано написан, и похоже давно не обновлялся). В итоге ничего не получилось :(. Может у кого получилось выполнить хотя бы примеры? Поделитесь опытом, что и как делали, как компилировали сишные файлы (pythonbind1.c - у меня не скомпилировался, а на pythonbind3.c ругается линковщик). И еще в модуле pythonbind3.py есть строка импорта:
Код: python
1.
import intersys.pythonbind31


где взять этот модуль?
PS: ОС Виндовс 32 бита.
...
Рейтинг: 0 / 0
30.05.2014, 01:21
    #38656538
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
пробовал читать python.txt в этой папке ? там написано как устанавливать и посмотреть как работает
авторTo install Python on Windows run from dev\python

python setup.py install

enter the directory of your Cache' installation

then to test installation from dev\pythontest\samples

python test.py


так что сначала нужно выполнить, в твоем случае для python3, вроде так
python setup3.py install
...
Рейтинг: 0 / 0
30.05.2014, 10:20
    #38656709
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
А чего кстати вдруг за питон взялся ? или на новом месте появилась необходимость ?
питон и на винде не самая конечно лучшая идея, хотя конечно и возможная
что хочешь делать на нем ?
...
Рейтинг: 0 / 0
30.05.2014, 10:21
    #38656712
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
пробовал читать python.txt в этой папке
Я его прочитал в первую очередь :) Желание написать сюда появилось после нескольких неудачных попыток выполнения того, что там написано.
В результате выполнения команды
Код: python
1.
python setup3.py install 


у меня появляется папка build в которой находятся
intersys/__init__.py
intersys/pythonbind.py
intersys/pythonbind3.py

но, я так понимаю должны еще и скомпилироваться сишные файлы (pythonbind1.c и pythonbind3.c соответственно).
И еще мне непонятна попытка импорта модуля intersys.pythonbind31 в файле pythonbind3.py. т.к. нет такого модуля. Для компиляции модулей pythonbind и pythonbind3 есть сишные файлы (pythonbind1.c и pythonbind3.c) а вот откуда брать pythonbind31 не понятно.
DAiMor сам пробовал по этому ридми файлу запустить тесты? получилось?
...
Рейтинг: 0 / 0
30.05.2014, 10:23
    #38656714
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
DAiMorА чего кстати вдруг за питон взялся ? или на новом месте появилась необходимость ?
В целях саморазвития :) К работе это отношение не имеет, просто экспериментирую в свободное время :)
...
Рейтинг: 0 / 0
30.05.2014, 10:36
    #38656723
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
П.С.М.DAiMor сам пробовал по этому ридми файлу запустить тесты? получилось?Я пробовал, только дело было под linux, поэтому проблем было меньше.
...
Рейтинг: 0 / 0
30.05.2014, 10:36
    #38656725
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
П.С.М.В целях саморазвития :) К работе это отношение не имеет, просто экспериментирую в свободное время :)Это правильно, саморазвитие это полезно.
...
Рейтинг: 0 / 0
30.05.2014, 11:05
    #38656774
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
DAiMorбыло под linux
Т.е. под линуксом это запускается - это уже хорошо :) Но хотелось бы попробовать это запустить и под виндовс.
...
Рейтинг: 0 / 0
30.05.2014, 11:47
    #38656838
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
Получилось заставить работать это и на Windows x64 и Python 3.3.3

Требуется наличие установленной Visual Studio, не знаю полноценной или нет, но как написано в документации , должен быть доступен vsvars32.bat
в моем случае это был
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\vsvars32.bat"
у меня правда без прописывания в PATH, он вроде работал, но была с ним проблема, в PATH у меня были лишние кавычки, там их не должно быть совсем, иначе этот bat-ник не работает, его можно просто запустить и он не должен ничего вывести и отработать без ошибок, тогда все хорошо, можно продолжать дальше

после запустил
python setup3.py install
теперь он должен отработать без ошибок, если ошибки были дальше нужно их устранять пример не заработает

после этого при попытке запустить пример, получил ошибку
Код: plaintext
1.
2.
3.
4.
5.
Traceback (most recent call last):
  File "samples3\test.py", line 2, in <module>
    import intersys.pythonbind3
  File "c:\Python33\lib\site-packages\intersys\pythonbind3.py", line 1, in <module>
    import intersys.pythonbind31
ImportError: DLL load failed: The specified module could not be found.

решил копированием всех dll из папки C:\InterSystems\Ensemble14\dev\cpp\lib в папку C:\Python33\Lib\site-packages\intersys
после этого пример заработал

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Simple Python binding sample
Cache server port (default 1972)? 56775
Connection string: localhost[56775]:SAMPLES
Connecting to Cache server
Connected successfully
Creating database
Opening Sample.Person instance with ID 1 with default concurrency and timeout
Getting the value of the Name property
Value: Loveluck,Ashley X.
Test completed successfully
...
Рейтинг: 0 / 0
30.05.2014, 12:13
    #38656875
Python + Cache
Серъёзно, не надо насиловать python под windows, ни разу у меня не получалось его заставить нормально работать: то косяки с cygwin, то gcc отказывается собирать, то третья версия не поддерживается, то с путями всё плохо...
...
Рейтинг: 0 / 0
30.05.2014, 12:14
    #38656880
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
DAiMorрешил копированием всех dll из папки C:\InterSystems\Ensemble14\dev\cpp\lib в папку C:\Python33\Lib\site-packages\intersys
Ооо, а вот это я не делал :) Спасибо, попробую.
...
Рейтинг: 0 / 0
30.05.2014, 12:51
    #38656929
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
П.С.М.DAiMorрешил копированием всех dll из папки C:\InterSystems\Ensemble14\dev\cpp\lib в папку C:\Python33\Lib\site-packages\intersys Ооо, а вот это я не делал :)И не надо, так как у Вас изначально Cache 2014.1 x86 , а у DAiMor - x64 . Вы установили Microsoft C/C++ compiler, например, Visual Studio 2008 или выше? Следуйте строго инструкциям в python.txt или из документации - и всё получится. не рубящий в кашеСеръёзно, не надо насиловать python под windows, ни разу у меня не получалось его заставить нормально работатьНа самом деле всё достаточно просто. Делал тест для Cache 2014.1 x64 и Visual Studio 2010:
  • устанавливаем Python 3.4.1 (x64)
  • из командной строки выполняем
    Код: plaintext
    "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat"
    далее запускаем из %CacheHome%\dev\python
    Код: plaintext
    python setup3.py install
    и, наконец, сам пример из %CacheHome%\dev\python\samples3
    Код: plaintext
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    C:\InterSystems\Cache\dev\python\samples3>python test.py
    Simple Python binding sample
    Cache server port (default 1972)?
    Connection string: localhost[1972]:SAMPLES
    Connecting to Cache server
    Connected successfully
    Creating database
    Opening Sample.Person instance with ID 1 with default concurrency and timeout
    Getting the value of the Name property
    Value: Young,Sally V.
    Test completed successfully
Ничего никуда не нужно копировать и/или донастраивать.
...
Рейтинг: 0 / 0
30.05.2014, 14:20
    #38657062
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
servitВы установили Microsoft C/C++ compiler, например, Visual Studio 2008 или выше?
Ставил VC++ 2008, правда экспресс (но думаю это не принципиально).
И vsvars32.bat запускал, и все равно что-то не получалось. Но раз Вы говорите, что все просто и должно работать, значит я сам делал что-то не так :) Как только будет возможность - попробую.
PS: Спасибо за ответ.
...
Рейтинг: 0 / 0
30.05.2014, 14:43
    #38657098
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
П.С.М. ,

Вы так и не привели результат выполнения

Код: plaintext
python setup3.py install

, в том числе и текст ошибки.
П.С.М.а на pythonbind3.c ругается линковщикЭтого мало, нужно само "ругательство".
...
Рейтинг: 0 / 0
31.05.2014, 00:35
    #38657561
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
servit П.С.М. ,

Вы так и не привели результат выполнения

Код: plaintext
python setup3.py install

Выполнил vsvars32.bat, даю команду python setup3.py install, а в ответ:

c:\InterSystems\Cache\dev\python>python setup3.py install
enter directory where you installed Cache'
libdir=/dev/cpp/lib
include dir=/dev/cpp/include
libs=['cbind']
running install
running build
running build_py
running build_ext
building 'pythonbind31' extension
error: Unable to find vcvarsall.bat
Хотя в PATH путь, где находится этот бат файл, есть. Да и сам файл есть.
Поиском в инете нашел рекомендацию поставить более позднюю версию вижуал студии, например 2010. Попробую. Посмотрю что получится.

PS: а ругательства линковщика я получал при попытки скомпилировать сишные файлы в ручную :)
...
Рейтинг: 0 / 0
31.05.2014, 01:41
    #38657574
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
Удалил VC++ 2008 поставил 2010. И совсем другая картина :)
c:\InterSystems\Cache\dev\python>python setup3.py install
enter directory where you installed Cache'
libdir=c:/InterSystems/cache/dev/cpp/lib
include dir=c:/InterSystems/cache/dev/cpp/include
libs=['cbind']
running install
running build
running build_py
running build_ext
building 'pythonbind31' extension
creating build\temp.win32-3.4
creating build\temp.win32-3.4\Release
creating build\temp.win32-3.4\Release\intersys
C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.exe /c /nologo /Ox /MD /
W3 /GS- /DNDEBUG -Ic:/InterSystems/cache/dev/cpp/include -IC:\Python34\include -
IC:\Python34\include /Tcintersys/pythonbind3.c /Fobuild\temp.win32-3.4\Release\i
ntersys/pythonbind3.obj
pythonbind3.c
C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\link.exe /DLL /nologo /INCR
EMENTAL:NO /LIBPATH:c:/InterSystems/cache/dev/cpp/lib /LIBPATH:C:\Python34\libs
/LIBPATH:C:\Python34\PCbuild cbind.lib /EXPORT:PyInit_pythonbind31 build\temp.wi
n32-3.4\Release\intersys/pythonbind3.obj /OUT:build\lib.win32-3.4\intersys\pytho
nbind31.pyd /IMPLIB:build\temp.win32-3.4\Release\intersys\pythonbind31.lib /MANI
FESTFILE:build\temp.win32-3.4\Release\intersys\pythonbind31.pyd.manifest
Creating library build\temp.win32-3.4\Release\intersys\pythonbind31.lib and o
bject build\temp.win32-3.4\Release\intersys\pythonbind31.exp
running install_lib
creating C:\Python34\Lib\site-packages\intersys
copying build\lib.win32-3.4\intersys\pythonbind.py -> C:\Python34\Lib\site-packa
ges\intersys
copying build\lib.win32-3.4\intersys\pythonbind3.py -> C:\Python34\Lib\site-pack
ages\intersys
copying build\lib.win32-3.4\intersys\pythonbind31.pyd -> C:\Python34\Lib\site-pa
ckages\intersys
copying build\lib.win32-3.4\intersys\__init__.py -> C:\Python34\Lib\site-package
s\intersys
byte-compiling C:\Python34\Lib\site-packages\intersys\pythonbind.py to pythonbin
d.cpython-34.pyc
byte-compiling C:\Python34\Lib\site-packages\intersys\pythonbind3.py to pythonbi
nd3.cpython-34.pyc
byte-compiling C:\Python34\Lib\site-packages\intersys\__init__.py to __init__.cp
ython-34.pyc
running install_egg_info
Writing C:\Python34\Lib\site-packages\pythonbind3-0.X-py3.4.egg-info
...
Рейтинг: 0 / 0
31.05.2014, 09:37
    #38657604
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
П.С.М.Удалил VC++ 2008 поставил 2010. И совсем другая картина :)Тут выглядит так как будто все хорошо.
...
Рейтинг: 0 / 0
31.05.2014, 20:40
    #38657785
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
DAiMorП.С.М.Удалил VC++ 2008 поставил 2010. И совсем другая картина :)Тут выглядит так как будто все хорошо.Именно так: pythonbind31.pyd создан и скопирован.

П.С.М. ,

Работают теперь примеры?
...
Рейтинг: 0 / 0
31.05.2014, 23:47
    #38657857
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
servit,
Будете смеяться, но нет :) не работают.
Результат команды запуска теста:
c:\InterSystems\Cache\dev\python\samples3>python test.py
Traceback (most recent call last):
File "test.py", line 2, in <module>
import intersys.pythonbind3
File "C:\Python34\lib\site-packages\intersys\pythonbind3.py", line 1, in <modu
le>
import intersys.pythonbind31
ImportError: DLL load failed: Не найден указанный модуль.
Но сам файл по тому пути существует.
А вот при запуске через утилиту dependens.exe видно следующее:
LoadLibraryExW("c:\python34\lib\site-packages\intersys\pythonbind31.pyd", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "PYTHON34.DLL" at address 0x688A0601.
Loaded "PYTHONBIND31.PYD" at address 0x73E20000. Successfully hooked module.
Unloaded "PYTHONBIND31.PYD" at address 0x73E20000.
LoadLibraryExW("c:\python34\lib\site-packages\intersys\pythonbind31.pyd", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned NULL. Error: (126).

Т.е. сначала питон успешно загрузил библиотеку pythonbind31.pyd, потом зачем то выгрузил, а при попытке загрузить еще раз почему то не смог.
...
Рейтинг: 0 / 0
31.05.2014, 23:56
    #38657860
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
П.С.М.ImportError: DLL load failed: Не найден указанный модуль.
как раз эту проблему я и решал копированием всех тех DLL, в данном случае сам питоновский модуль то найден а вот dll нужные ему для работы нет
...
Рейтинг: 0 / 0
01.06.2014, 00:33
    #38657865
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
DAiMor,

А вот копирование dll из \dev\cpp\lib в C:\Python34\Lib\site-packages\intersys действительно помогает. Тесты сразу стали запускаться :) . Хотя странно, почему питон не находил эти длл в \dev\cpp\lib, ведь путь к этой папке есть в PATH?
...
Рейтинг: 0 / 0
02.06.2014, 09:04
    #38658255
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
П.С.М.А вот копирование dll из \dev\cpp\lib в C:\Python34\Lib\site-packages\intersys действительно помогает. Тесты сразу стали запускаться :) .Почему Вы не хотите прислушаться к документации?Документация / python.txt
  • Your PATH must include the <cachesys>\bin directory.
  • 2) Make sure CACHE_INSTALL_DIR/bin (or CACHE_INSTALL_DIR\bin) is on your path (Your CACHE_INSTALL_DIR might be /usr/cachesys/bin.)
...
Рейтинг: 0 / 0
02.06.2014, 09:07
    #38658260
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
П.С.М.Хотя странно, почему питон не находил эти длл в \dev\cpp\lib, ведь путь к этой папке есть в PATH?Потому что не все DLL есть там: полный комплект нужных библиотек лежит в <cachesys>\bin.
...
Рейтинг: 0 / 0
03.06.2014, 08:00
    #38659530
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
servitПочему Вы не хотите прислушаться к документации?
Ну почему же не хочу?
Это:
Your PATH must include the <cachesys>\bin directory.
2) Make sure CACHE_INSTALL_DIR/bin (or CACHE_INSTALL_DIR\bin) is on your path (Your CACHE_INSTALL_DIR might be /usr/cachesys/bin.)
я сделал в первую очередь. Вот:
>echo %PATH%
C:\Python34\;C:\Python34\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\Syste
m32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft
Visual Studio 9.0\VC;%CACHE_INSTALL_DIR%\bin;%CACHE_INSTALL_DIR%\dev\cpp\lib
>echo %CACHE_INSTALL_DIR%
C:\InterSystems\Cache
...
Рейтинг: 0 / 0
03.06.2014, 10:48
    #38659675
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python + Cache
П.С.М.Ну почему же не хочу?
Это:
я сделал в первую очередь. Вот:В таком случае всё должно работать и без копирования файлов и даже без %CACHE_INSTALL_DIR%\dev\cpp\lib .
У меня (Windows 7) echo %PATH% выдаёт полный путь ( C:\InterSystems\Cache\bin ), а не сокращённый ( %CACHE_INSTALL_DIR%\bin ).
Чтобы проверить доступность файлов, попробуйте запустить что-то из %CACHEHOME%\Bin , например CStudio.exe.П.С.М.ImportError: DLL load failed: Не найден указанный модуль.Такое ещё может быть, если битность Python и Caché не совпадают, но это ведь не Ваш случай.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Python + Cache / 25 сообщений из 27, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]