【问题标题】:Module works in cmd but not in Pycharm模块在 cmd 中有效,但在 Pycharm 中无效
【发布时间】:2020-06-15 00:13:59
【问题描述】:

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

'shp2pgsql' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

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

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

这是我的代码:

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。

【问题讨论】:

  • 您是否在 PyCharm 中使用了正确的 Python 解释器?我的意思是在 cmd 中使用的相同
  • 我认为它是一样的。我只安装了一个。但我也不认为命令提示符在调用 shp2pgsql 和 pgsql2shp 时完全不使用 python,那这有关系吗?

标签: python cmd pycharm subprocess


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-02-13
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    • 2021-12-23
    相关资源
    最近更新 更多