Дублирование python27.dll как python25.dll

У меня есть несколько проприетарных приложений Windows, которые настаивают на использовании Python 2.5. Я уже использую Python 2.7 редко и на пути к 3.x, поэтому я не хочу сохранять или заставлять команду сохранять еще одну версию Python.

Итак, я обманул и создал python25.dll как копию файла python27.dll в той же папке bin этого приложения / Некоторые первоначальные тесты доказывают, что он действительно работает.

Мой вопрос: это вызовет много проблем? Каковы различия между двумя DLL?

Да, я знаю, когда обновляю свой python, мне, вероятно, нужно переписать этот единственный dll.

2 ответа

Любые различия, относящиеся к этому контексту, будут символами, экспортируемыми двумя DLL. Я не знаком с Windows ToolsSuite, но попробуйте использовать Windows эквивалент Unix's nm или же objdump чтобы увидеть, есть ли какие-либо символы, экспортированные в версии 2.5, но не в 2.7. Я не ожидал (м) любого.

Другой подход к решению вашего вопроса - спросить у поставщиков проприетарного программного обеспечения, почему они запрашивают =2,5 вместо>=2,5, возможно, они столкнулись с некоторыми более тонкими проблемами, не связанными напрямую с API, а скорее деталями реализации...

Я немного волновался, что вы можете говорить о программном обеспечении, которое я пишу, но вы находитесь в совершенно другой стране, поэтому я сомневаюсь в этом.:)

Я вижу по крайней мере 3 потенциальные проблемы с этим:

  1. Это почти наверняка приведет к аннулированию любых соглашений о гарантии / поддержке, которые у вас есть на программное обеспечение. Мы очень осторожно относимся к любому другому программному обеспечению, работающему только на том же сервере, и у кого-то, играющего с внутренними компонентами, возникнут большие проблемы, поскольку мы проводим очень дорогую перестройку системы с нуля.

  2. Если система имеет только байт-код для подпрограмм Python, а не исходный код, вы можете обнаружить, что система откажется загружать любые предварительно скомпилированные функции, так как версия байт-кода будет изменена.

  3. В Python 2.5 могут быть некоторые ошибки / функции, на которые они невольно полагаются, и это может вызвать неожиданные изменения в поведении.

Другие вопросы по тегам