我正在尝试在 Anaconda 环境中从 Python 运行 osm2pgsql 以将 .osm.bz2 文件导入 Postgres Db,但我收到“连接到数据库失败:无法创建套接字”。
import shlex
import subprocess
command_line = 'osm2pgsql ' \
'-c -d osm ' \
'-U postgres ' \
'-H 127.0.0.1 ' \
'-P 5432 ' \
'-S C:\default.style D:\Local_OSM_DataStore\britain-and-ireland-latest.osm.bz2'
args = shlex.split(command_line)
subprocess.run(args=args, shell=True, text=True, env=dict(PATH='C:\osm2pgsql-latest-x64\osm2pgsql-bin'))
我收到以下回复:
C:\Users\bradl\Anaconda3\envs\SD_Local_Dev\python.exe D:/Dropbox/Projects/SpatialDays/PythonFunctions/Scratchpad.py
2021-06-02 10:36:22 osm2pgsql version 1.4.2
2021-06-02 10:36:22 ERROR: Connecting to database failed: could not create socket: The requested service provider could not be loaded or initialized.
(0x0000277A/10106)
.
Process finished with exit code 0