Я только что заметил, что больше не могу использовать dll Python 2.6. Python 2.5 работает просто отлично.
import ctypes
py1 = ctypes.cdll.python25
py2 = ctypes.cdll.python26
# ctypes.cdll.LoadLibrary("libpython2.6.so") in linux
py1.Py_Initialize()
py2.Py_Initialize()
# segmentation fault in Linux
py1.PyRun_SimpleString("print 'hello world'")
# this works because it is using python 2.5
py2.PyRun_SimpleString("print 'hello world2'")
# WindowsError: exception: access violation reading 0x00000004
Я что-то не так делаю или Python 2.6 сломан?
Обновление
- Пробовал это с Python 2.7 alpha dll, и он, кажется, работает, так что это может быть проблема 2.6.
- Попробовал это на Ubuntu x64 с Python 2.7 alpha, и он работал без ошибки сегментации.