鳕鱼天空

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

用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法

打开sql server  management studio
安全性->登录名->右击新建登录名->常规->搜索->添加NetworkService用户->服务器角色->勾上sysadmin
一般是已经存在了,那么就只要勾上sysadmin
IIS中:
应用程序池->对应的程序池上右键->高级设置->进程模块_标识->选择NetworkService(与数据库中设置统一)

ChromiumWebBrowser 开发备忘

1、多窗口时直接只用close关闭ChromiumWebBrowser是几乎无效的,后台进程还会在,dispose的话整个应用会关闭,csdn高手提示:browser.GetBrowser().CloseBrowser(false);

2、ChromiumWebBrowser作为控件的元素,会导致主窗体设计界面崩溃(初步判断要运行2个sub.exe),所以需要在空间初始化浏览器位置加入设计模式的判断,大致如下

        

        #region 判断是否为设计模式

        bool IsDesignMode()
        {
            return System.Diagnostics.Process
                .GetCurrentProcess().ProcessName.Equals("devenv");
        }
        bool IsDesignMode2()
        {
            //运行环境:Windows7 + VS2005 + Framework2.0SP2
            //直接用this.DesignMode == true无效
            if (this.GetService(typeof(IDesignerHost)) != null || System.ComponentModel.LicenseManager.UsageMode == System.ComponentModel.LicenseUsageMode.Designtime)
            {
                //design mode
                return true;
            }
            else
            {
                //runtime mode
                return false;
            }
        }
        #endregion


可以结合DesignMode 进行3者联合判断

 

记一次使用Node.js electron打包网站的记录[转][改]

 

最近用到了electron,装了个win7虚拟机,记录下需要安装的内容

参考地址1,让HTML网页变成一个exe执行程序(node-webkit或HTMLRunExe或hta)

参考地址2,Electron 怎么将网页打包成桌面应用

参考地址3,记一次使用Node.js electron打包网站的记录

新装的win7,安装环境步骤大致如下:

1、node.js

2、安装cnpm,并设置未淘宝镜像

npm install -g cnpm --registry=https://registry.npm.taobao.org

3、全局安装 electron

cnpm install -g electron

4、全局安装  electron-packager

cnpm install -g electron-packager

5、安装 .net 4.5 以上

6、升级powershell 3 安装文件(Windows6.1-KB2506143-x64.msu

或 升级 powershell 4 https://www.microsoft.com/zh-CN/download/details.aspx?id=40855

验证Windows PowerShell 是否已安装成功。

Get-Host | Select-Object Version

7、打包,命令大致如下

electron-packager . app --win --out a --arch=x64 --app-version=0.1.0 --electron-version=6.0.12 --overwrite --ignore=node_modules

 

win7升级powershell【转】

今天在安装windows下安装vagrant的时候,遇到了以下问题:

The version of powershell currently installed on this host is less than
the required minimum version. Please upgrade the installed version of
powershell to the minimum required version and run the command again.

Installed version: 2

Minimum required version: 3

提示powershell版本低了。然后网上搜了解决方法,如下

转载分割线================================

以下内容转自:http://www.cnblogs.com/wenBlog/p/6198354.html

 

开发的PowerShell 脚本需要使用Invoke-RestMethod命令,发现在老的服务器上不支持这一命令,经过查询得知由于PS版本的问题。涉及到了PS的升级,需要介绍下PowerShell的版本。

发生错误如下:

 

简介:

   Powershell是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境。 powershell需要.NET环境的支持,同时支持.NET对象。当前powershell有四版本,分别为1.0,2.0,3.0 ,4.0 。

 

      如果系统是window7或者Windows Server 2008,那么PowerShell 2.0已经内置了,可以升级为3.0,4.0。 

 

      如果系统是Windows 8 或者Windows server 2012,那么PowerShell 3.0已经内置了,可以升级为4.0。 

 

      如果系统为Windows 8.1或者Windows server 2012 R2,默认是4.0。

 

碰巧我遇到一个使用PS脚本的地方需要使用3.0及其以上,微软这方面的版本升级做的很好只需要简单几个步骤就可以实现升级,并且实现了向前兼容(很遗憾32位版本的只能向后兼容)。下面就2.0升级3.0的升级步骤进行了介绍:

Windows 7 和 Windows Server 2008 R2 内核版本同为6.1,以下步骤说明如何在运行 Windows 7 SP1 和 Windows Server 2008 R2 SP1 的机器上安装 Windows PowerShell 3.0。

 

安装准备


1. 在安装Windows Management Framework 3.0之前,卸载任何Windows Management Framework 3.0之前的版本。

 

要卸载早期版本的 Windows PowerShell 3.0,请在每台安装了早期版本的计算机上完成以下过程:

    在 Windows 控制面板中,单击“卸载程序”。   
    在“程序和功能”中,单击“查看已安装的更新”。    
    在“卸载更新”窗格的“Microsoft Windows”部分中,找到标题为“Microsoft Windows Management Framework 3.0 Beta (KB2506143)”的更新。    
    右键单击“Microsoft Windows Management Framework 3.0 Beta (KB2506143)”,然后单击“卸载”。    
    在“卸载更新”对话框中,单击“是”。

请注意,您需要在卸载更新后重新启动计算机。

 

安装Windows PowerShell 3.0


1. 安装Microsoft .NET Framework 4.0的完整安装版本(dotNetFx40_Full_x86_x64.exe),或者,安装Microsoft .NET Framework 4.5的完整安装版本(dotNetFx45_Full_x86_x64.exe)。    

 

2. 安装Windows Management Framework 3.0的6.1内核版本安装文件(Windows6.1-KB2506143-x64.msu)。    

 

完成如下过程的安装:

    双击文件“Windows6.1-KB2506143-x64.msu”。   
    在“Windows 更新独立安装程序”对话框中,当询问您是否安装更新时单击“是”。    
    在下载和安装更新向导中的“请阅读许可条款”页上,单击“我接受”。    
    在“安装完成”页上,单击“立即重新启动”立即重新启动计算机。(必须重新启动计算机才能使更新生效。)如果不想立即重新启动计算机,请单击“关闭”。如前文所述,在 Windows

PowerShell 3.0 完全安装之前,仍需要重新启动计算机。

 

3. 验证Windows PowerShell 3.0 是否已安装成功。

 

计算机重新启动后,可以执行以下检查来验证 Windows PowerShell 3.0 是否已安装:

    依次单击“开始”、“所有程序”、“附件”和“Windows PowerShell”,然后单击“Windows PowerShell”。   
    在 Windows PowerShell 控制台中的命令提示符下键入以下命令,然后按 ENTER:

    Get-Host | Select-Object Version

    如果 Windows PowerShell 3.0 已安装,您将看到如下所示输出:

    Version   
    -------    
    3.0

注意

如果服务器本身已经安装了高版本的Windows Management Framework,比如4.5等,则不需要删除任何东西,直接安装Windows6.1-KB2506143-x64.msu即可。需要重启。

 

总结:

本文主要是介绍在windows 2008 或者7 如何升级powershell,碰巧遇到了问题,所以将这个方案记录下来,因为现在很多服务器都是2008r2 ,为日后的运维和升级提供依据参考。