一、安装python3.81.1、安装必要的编译依赖 yum groupinstall Development Tools -y yum install openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel tk-devel gcc make -y 1.2、下载并解压python3.8 cd /usr/local/src sudo wget https://www.python.org/ftp/python/3.8.18/Python-3.8.18.tgz tar xzf Python-3.8.18.tgz cd Python-3.8.18 1.3、编译并安装 ./configure --enable-optimizations make altinstall python3.8 --version pip3.8 --version 1.4、创建虚拟环境并激活 python3.8 -m venv myenv source myenv/bin/activate二、驱动安装cd /dm_data/dmdbms/drivers/python/dmPython/python3.8 setup.py install这个报错是因为root没有配置环境变量配置环境变量重新执行即可。export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/dm_data/dmdbms/binexport DM_HOME/dm_data/dmdbms三、测试dmPython连接数据库cat testconn.pyimport dmPython def connect_database(): try: conn dmPython.connect( userSYSDBA, passwordDameng2025, serverlocalhost, port5238 ) print(达梦数据库连接成功!) return conn except (dmPython.Error, Exception) as err: print(f连接失败: {err}) return None connect_database()四、爬取天气数据插入达梦数据库cat wttr_in_weather.pyimport requests from bs4 import BeautifulSoup import re import json import time from datetime import datetime from datetime import datetime, timezone, timedelta import dmPython datas[] citys_url[] con dmPython.connect(userSYSDBA,passwordDameng2025,serverlocalhost,port5238) cur con.cursor() cur.execute(select city_id,url from shaw.wttr_in_city;) ids cur.fetchall() for i in ids: citys_url.append(i) for url in citys_url: resp requests.get(url[1],verifyFalse) data resp.json() bj_date datetime.now(timezone(timedelta(hours8))).strftime(%Y-%m-%d) observation_time data[current_condition][0][observation_time], localObsDateTime datetime.strptime(f{bj_date} {observation_time[0]}, %Y-%m-%d %I:%M %p).strftime(%Y-%m-%d %H:%M:%S) line ( url[0], data[current_condition][0][weatherDesc][0][value], data[current_condition][0][winddir16Point], data[current_condition][0][windspeedKmph], data[weather][0][maxtempC], data[weather][0][mintempC], data[current_condition][0][pressure], data[current_condition][0][humidity], data[current_condition][0][precipMM], data[weather][0][astronomy][0][sunrise], data[weather][0][astronomy][0][sunset], data[weather][0][sunHour], localObsDateTime, datetime.now().strftime(%Y-%m-%d %H:%M:%S) ) print(line) cur.execute(INSERT INTO shaw.wttr_in_weather VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);, line) con.commit() time.sleep(3) con.close()
python3连接达梦8
发布时间:2026/7/10 4:33:24
一、安装python3.81.1、安装必要的编译依赖 yum groupinstall Development Tools -y yum install openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel tk-devel gcc make -y 1.2、下载并解压python3.8 cd /usr/local/src sudo wget https://www.python.org/ftp/python/3.8.18/Python-3.8.18.tgz tar xzf Python-3.8.18.tgz cd Python-3.8.18 1.3、编译并安装 ./configure --enable-optimizations make altinstall python3.8 --version pip3.8 --version 1.4、创建虚拟环境并激活 python3.8 -m venv myenv source myenv/bin/activate二、驱动安装cd /dm_data/dmdbms/drivers/python/dmPython/python3.8 setup.py install这个报错是因为root没有配置环境变量配置环境变量重新执行即可。export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/dm_data/dmdbms/binexport DM_HOME/dm_data/dmdbms三、测试dmPython连接数据库cat testconn.pyimport dmPython def connect_database(): try: conn dmPython.connect( userSYSDBA, passwordDameng2025, serverlocalhost, port5238 ) print(达梦数据库连接成功!) return conn except (dmPython.Error, Exception) as err: print(f连接失败: {err}) return None connect_database()四、爬取天气数据插入达梦数据库cat wttr_in_weather.pyimport requests from bs4 import BeautifulSoup import re import json import time from datetime import datetime from datetime import datetime, timezone, timedelta import dmPython datas[] citys_url[] con dmPython.connect(userSYSDBA,passwordDameng2025,serverlocalhost,port5238) cur con.cursor() cur.execute(select city_id,url from shaw.wttr_in_city;) ids cur.fetchall() for i in ids: citys_url.append(i) for url in citys_url: resp requests.get(url[1],verifyFalse) data resp.json() bj_date datetime.now(timezone(timedelta(hours8))).strftime(%Y-%m-%d) observation_time data[current_condition][0][observation_time], localObsDateTime datetime.strptime(f{bj_date} {observation_time[0]}, %Y-%m-%d %I:%M %p).strftime(%Y-%m-%d %H:%M:%S) line ( url[0], data[current_condition][0][weatherDesc][0][value], data[current_condition][0][winddir16Point], data[current_condition][0][windspeedKmph], data[weather][0][maxtempC], data[weather][0][mintempC], data[current_condition][0][pressure], data[current_condition][0][humidity], data[current_condition][0][precipMM], data[weather][0][astronomy][0][sunrise], data[weather][0][astronomy][0][sunset], data[weather][0][sunHour], localObsDateTime, datetime.now().strftime(%Y-%m-%d %H:%M:%S) ) print(line) cur.execute(INSERT INTO shaw.wttr_in_weather VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);, line) con.commit() time.sleep(3) con.close()