Skip to content

Latest commit

 

History

History

lab_4

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

ERROR: could not load library

PostgreSQL/11/lib/plpython3.dll": the specified module could not be found.

Если у вас заработал plpython3 с первого раза на винде - вы счастливчик.

Что я только не пыталась сделать:

  • переустанавливала Postgresql (как оказалось версия питона+библиотечки +- хардкодятся при установке и зависят от найденного на компе питона)
  • Скачивала python2, ставила его в PATH, делая питоном по умолчанию после этого переустанавливала Postgresql;
  • использовала plpythonu, plpython2u, plpython3u
  • пробовала ставить разные верисии 3го питона
  • пыталась в лайфхаки с формуов
  • загуглила как перейти на mssql

Не знаю какая страница это гугла была, но finally я нашла то, что мне помогло.

Шо делать спросите вы.

Одна магическая строчка в консольке от имени администратора:

set PYTHON_HOME=C:\Program Files\Python37(директория вашей папки с python)

Есть вероятность что это делать надо до установки postgres-а. (на момент установки переменной среды python_home я опять снесла postgre (а не нужны ли вам бэкапы?) и потом при установке он finally начал использовать другую версию библиотечек (все файлы теперь cpython-36 хотя стоит 37 питон на компе, раньше при установке создавались cpython-37 и ничего не работало)

По моим шагам

  • удалить постгрес
  • set PYTHON_HOME (и сам python добавить в PATH)
  • скачать постгрес

ЕСЛИ ЭТО РАБОТАЕТ И БЕЗ УДАЛЕНИЯ постгреса - маякните.
Или если для вас это вообще не работает тоже маякните. Я вам посочувствую)))))

PS: описанные выше действия являются лично моим опытом, гарантий что оно заработает после указанных шагов - нет.

Удачи)

Второй способ без удаления постгреса от nah990

Весь способ кратко можно описать с помощью видео - https://coub.com/view/12458x

  • Качаем утилиту http://www.dependencywalker.com/ и открываем plpython3.dll в \PostgreSQL(Ваша версия)\lib\plpython3.dll
  • Смотрим в списке зависимостей на какой PYTHONXX.DLL он ссылается, где XX - версия.
  • Качаем эту версию Python'а, затем прописываем в PATH (PATH находится в Система->Дополнительные параметры системы->Переменные среды->переменная Path) следующие строчки (В моем случае это Python 3.7)
C:\Python37\
C:\Python37\Scripts
C:\Python37
  • Открываем Windows Powershell или терминал и прописываем волшебную команду из первого способа
set PYTHON_HOME=C:\Program Files\Python37(директория вашей папки с python)
  • Теперь заходим в нашу папку с Python'ом, копируем python37.dll (Весит примерное 3700 КБ, находится либо в самой папке, либо в DLLs)
  • Теперь этот файл кидаем в \PostgreSQL(Ваша версия)\lib\ и в \Windows\System32\