模块在cmd中起作用,但在Pycharm中不起作用

问题描述 投票:0回答:1

我正在尝试让PostGIS shp2pgsqlpgsql2shp模块在PyCharm中工作。我可以让它们在命令提示符下正常工作,但不能在PyCharm中运行我的脚本:

'shp2pgsql'不被识别为内部或外部命令,可操作的程序或批处理文件。

发现的最相似的Google搜索是pycharm and subprocess - what works in console doesn't work in Pycharm,但并不完全相同。

我已经根据https://www.jetbrains.com/help/pycharm/absolute-path-variables.html在PyCharm中设置了路径变量,但是再现了相同的错误。

这是我的代码:

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)

我在Windows 10中使用PyCharm版本2019.3.1。

python cmd pycharm subprocess
1个回答
0
投票

转到设置->工具->终端->项目设置,并添加一个新的环境变量,指定postgis的bin文件夹位置。我还将开始目录更改为C:\,而不是我当前正在处理的PyCharm项目的路径。不能完全确定是哪个工作完成的,但现在可以使用。

© www.soinside.com 2019 - 2024. All rights reserved.