python - Dupliserende python27.dll som python25.dll

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har nogle Windows proprietære apps, der insisterer på at bruge Python 2.5. Jeg bruger allerede python 2.7 sjældent og på vej til 3.x, så jeg vil ikke beholde eller tvinge holdet til at holde endnu en python-version.


Så, jeg snydde og oprettede en python25.dll som en kopi af python27.dll i den samme bin mappe af den app/Nogle første test viser, at det rent faktisk fungerer.


Mit spørgsmål: vil det medføre mange problemer? Hvad er forskellene mellem de to DLL'er?


Ja, jeg ved, hvornår jeg opdaterer min python, jeg skal nok genoptage den enkelte dll.

Bedste reference


Eventuelle forskelle i denne sammenhæng ville være de symboler, der eksporteres af de to DLL'er. Jeg er ikke bekendt med windows toolsuite, men prøv at bruge et vindue svarende til unix s nm eller objdump for at se om der er nogen symboler, der eksporteres i 2.5 versionen, men ikke 2.7. Jeg ville ikke Forvent (m) nogen.


En anden tilgang til at løse dit spørgsmål ville være at spørge leverandørerne af den proprietære software, hvorfor de anmoder om=2,5 i stedet for>=2.5, det kan være, at de har oplevet nogle mere subtile problemer, der ikke er direkte relateret til API'en, men snarere en implementeringsdetalje. ..

Andre referencer 1


Jeg var lidt bekymret for at du måske taler om den software, jeg skriver, men du er i et helt andet land, så jeg tvivler på det. :)


Jeg kan se mindst 3 potentielle problemer med dette:



  1. Dette er næsten sikkert at ophæve eventuelle warrany/support-aftaler, du har på softwaren. Vi er meget forsigtige med enhver anden software, der kun kører på den samme server, og en person, der leger rundt med internalerne, vil komme ind i en masse problemer, da vi går igennem en meget dyre ombygning af systemet fra bunden.

  2. Hvis systemet kun har bytecode for python-rutinerne, ikke kildekoden, kan du opdage, at systemet vil nægte at indlæse alle præ-kompilerede funktioner, da bytecode-versionen vil blive ændret.

  3. Der kan være nogle fejl/funktioner i python 2.5, som de unknowningly er afhængige af, og det kan forårsage uventede ændringer i adfærd.