模块在 cmd 中有效,但在 Pycharm 中无效
Posted
技术标签:
【中文标题】模块在 cmd 中有效,但在 Pycharm 中无效【英文标题】:Module works in cmd but not in Pycharm 【发布时间】:2020-06-15 00:13:59 【问题描述】:我正在尝试让 PostGIS shp2pgsql
和 pgsql2shp
模块在 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,那这有关系吗? 【参考方案1】:转到设置 --> 工具 --> 终端 --> 项目设置并添加一个新的环境变量,指定 postgis 的 bin 文件夹位置。我还将开始目录更改为 C:\,而不是我当前正在处理的 PyCharm 项目的路径。不完全确定是哪个完成了这项工作,但现在可以了。
【讨论】:
以上是关于模块在 cmd 中有效,但在 Pycharm 中无效的主要内容,如果未能解决你的问题,请参考以下文章
我无法在 pycharm 或 CMD 上下载模块“pandas”