Модуль работает в cmd, но не в Pycharm - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь заставить модули PostGIS shp2pgsql и pgsql2shp работать в PyCharm. Я могу заставить их работать в командной строке без проблем, но не при запуске моего скрипта в PyCharm:

'shp2pg sql' не распознается как внутренняя или внешняя команда, работоспособна программа или пакетный файл.

Наиболее похожий поиск в Google - pycharm и подпроцесс - то, что работает в консоли, не работает в Pycharm , но это не совсем то же самое.

Я установил переменную пути в PyCharm в соответствии с https://www.jetbrains.com/help/pycharm/absolute-path-variables.html, но воспроизводится та же ошибка.

Вот мой код:

import time
import subprocess

command = 'shp2pgsql -I -d -s 27001 //d10/t/ca/analysis/road/extents/ne_extent.shp d.extent_ne| psql -q -d projects -h postgres.local'
process = subprocess.Popen(command, shell=True)
while process.poll() is None:
    time.sleep(0.5)

Я использую PyCharm версии 2019.3.1 в Windows 10.

1 Ответ

0 голосов
/ 03 марта 2020

Go в Настройки -> Инструменты -> Терминал -> Настройки проекта и добавьте новую переменную среды, указав расположение папки bin в postgis. Я также изменил начальный каталог на C: \ вместо пути к проекту PyCharm, над которым я сейчас работаю. Не совсем уверен, кто сделал эту работу, но она работает сейчас.

...