鳕鱼天空

This is Mr Wang's Tech Blog.

code mu更换python + python3 搭建简单cgi服务器

https://codewith.mu/en/download 下的mu是个方便的mu编辑器,以前用来玩microbit,教小朋友们turtle画图,今天有个朋友有个需求,就又拿出来折腾下

首先,2020-3-9,mu当前已经是1.0.3版本了,下载最新版本安装/升级(顺带吐槽下,不科学上网的话,下载要吐血),然后发现mu1.0.3的python是3.6.3而且不带pip,就想到了狸猫换太子的方法:

1、找到mu的python文件夹,保留文件夹,里面的内容全选,删除

2、下载官方最高的3.6的安装包,3.6.8的python安装包,安装路径指定为mu下的python文件夹,把所有环境变量都勾上

3、命令行下,更新,pip,装上数据库,

pip install cx_Oracle

其次,python3自带的web服务器开启cgi

1、找个根目录建个文件夹,比如www,运行

python -m http.server 8000

在www下建个cgi-bin,py文件放在里面就好了

2、编码问题要解决,贴一段带参数的,备忘

# coding=utf-8

import codecs, sys
sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer)

# CGI处理模块
import cgi, cgitb

# 创建 FieldStorage 的实例化
form = cgi.FieldStorage()

# 获取数据
site_name = form.getvalue('name')
site_url = form.getvalue('url')

print('Content-type:text/html \n\n')
print ("<html>")
print ("<head>")
print ("<meta charset=\"utf-8\">")
print ("<title>CGI 测试实例</title>")
print ("</head>")
print ("<body>")
print ("<h2>%s官网:%s</h2>" % (site_name, site_url))
print ("</body>")
print ("</html>")

oracle执行含中文sql报错,那么根据网上大神提示,需要添加环境变量

添加变量名:NLS_LANG
添加变量值:SIMPLIFIED CHINESE_CHINA.UTF8