In genere questo messaggio di errore è fuorviante emesso dalla chiamata API Windows LoadLibrary
. Che cosa significa in realtà è più vicino a:
Error when loading plpython2.dll
: Cannot find dependency DLL python27.dll
on PATH
ma invece di Windows si comporta proprio come è plpython2.dll
sua auto che non poteva essere caricato.
È possibile sapere se questo è il problema controllando la directory lib
dell'installazione PostgreSQL per un plpython2.dll
. Se è lì, ma ottieni questo errore, allora è un runtime Python mancante. Se non è presente lo plpython2.dll
, quindi your PostgreSQL install is missing plpython2, something I'm raising with the packaging team.
Se si dispone di plpython2.dll
ma non viene caricato, è necessario installare il runtime di Python che corrisponde alla versione di PostgreSQL. Deve essere la stessa versione principale di Python utilizzata per compilare PostgreSQL, ad es. se Python 2.7 è stato usato per compilare PostgreSQL, Python 2.6 non funzionerà per eseguire plpython.
Sarebbe bello se l'installazione del runtime richiesto fosse automatizzata tramite l'installer, ma al momento non lo è.
It's also not properly documented, which I'll take up with the packaging team
Il runtime corretto da installare è ora documentato in doc\installation-notes.html
all'interno della directory di installazione, a cui è possibile accedere tramite PostgresSQL 9.3 -> Documentazione -> Note di installazione nel menu Start.
Per le vecchie versioni che mancano di queste informazioni nel loro file "note di installazione", se non si è sicuri di quale versione di Python è richiesta, è possibile utilizzare depends.exe
(dependency walker) per vedere quale DLL Python è collegata. Hai bisogno della stessa architettura di Python - se stai installando PostgreSQL a 64 bit hai bisogno di Python 64 bit, ecc.
I pacchetti PostgreSQL 9.3 richiedono Python 27. Quindi vai a scaricare Python 2.7 da http://python.org/ (non ActiveState, non sono necessariamente compatibili). Assicurati che Python sia aggiunto a PATH
dal programma di installazione (è un'opzione quando esegui il programma di installazione). Quindi riprovare dopo aver riavviato PostgreSQL.
È possibile automatizzare l'installazione di Python con:
start /wait msiexec /i python-2.7.3.amd64.msi /qb /passive TARGETDIR=%SystemDrive%\Python27_x64 ALLUSERS=1
dove python-2.7.3.amd64.msi
è il nome del file binario Python è stato installato, e si sta installando la versione a 64 bit di C:\Python27_x64
. Regolare come desiderato.
basta vedere [questo] (http: // stackoverflow.it/a/21641465/3682599) –
Ho bisogno di Python versione 2.x:/ Sto lavorando con NLTK. –