一个朋友要在windows系统下使用python通过 rs485和tcp 方式取modbus数据.
我给出一个建议环境. 感觉应该是够用的.
这是先声明一下. 我对python和windows都极不了解. 只是瞎提个建议.
设置一个 windows的python环境 记录.
目标.
python环境和程序 .就是文件夹.打包就拿走.
集成一个文本编辑器. 初步想用 notepad++
目前我在win10环境里测试. win11没玩过.
整个介绍我希望整个环境是开源的.简单的.
################
一.下载python
https://www.python.org/
downloads -> windows ->
https://www.python.org/downloads/windows/
在这里得知 3.4才可以运行在win7上. 新的版本都不行. 看样子win7不被支持很久了.
win8-> win11 python没说不支持.
我目前下载这个版本.
Python 3.10.4 - March 24, 2022
Download Windows embeddable package (64-bit)
把压缩包展开到 c:/python目录
最基本的python应该就可以了.
cmd里
c:
cd \python
python
或是点击 python.exe都可以进入黑窗口中.
#这里说一下这环境的退出. 和linux不一样. 不能直接用 quit()退出. 要这样执行
import sys
sys.exit()
或是直接关窗口都可以.
#测试了一下. pdb模块是有的.
########################
二. notepad++ 写程序,编辑文件的工具.
https://notepad-plus-plus.org/downloads/
印像里. 编辑python程序和文本. 任何版本都满足要求.
这是一个我用过的文本文档编辑程序. 功能不错. 不过作都是个比较个性高调的程序员.
开源的.
Notepad++ 8.3.3 (Make Apps, not war)
Release Date: 2022-03-15
下载 Download 64-bit x64
Portable (zip)
这是一个展开到目录就用. 复制到哪儿都行的版本.
展开所有文件到 c:/npp
把 notepad++.exe拉一个快捷方式出来. 方便以后使用.
这样程序就安装完了.
调整参数
Setting -> Preferences…
- general localization: 改成简体中文
以下不知道是不是要改.
可能需要. 语言里的 制表符.宽度,替换为空格啥的.
可能需要. 新建 默认语言python? ; 格式Unix?; UTF-8(无BOM)
#切换成python编程环境用 语言-> P -> python
#这不是个语言的集成开发环境. 先编辑,保存.
再去 cmd cd \python里
python abc.py 运行看结果.
如果需要调试程序.还是看pdb
https://docs.python.org/zh-cn/3/library/pdb.html
#这里说一下notepad++我知道的情况. 它是可以下载些插件的.
下载完需要的插件之后复制走也是可以用的.
如果你使用的版本已经无法下载新的插件了.同时还需要的话.
去官网下载一个新的 portable版本. 就可以正常下载插件了.
########################
三. 可能需要的
因为我这里要与linux传些文件. 所以就记录在这儿了.
1.压缩软件 7zip
windows下是可以压缩解压 .zip文件的.
如果实际工作中需要解压别的格式. 推荐下载一个 7zip
https://www.7-zip.org/
-> download
也有 portable版. 安装版,安装之后copy走也能用. 印像有一个exe一个ini就能用.
实在喜欢.也可以安装个语言插件.
2.ftp/sftp客户端程序
我用它们从虚拟机传文件出来. 两个工具都可以.
winscp
https://winscp.net/eng/downloads.php
filezilla
https://filezilla-project.org/
https://download.filezilla-project.org/client/
这个地址里找到的应该是 portable版.
https://download.filezilla-project.org/client/FileZilla_3.59.0_win64.zip
##################
四. 安装pip
为了安装模块.
我对python了解十分有限. 但我知道如果模块是用纯python写出来的.应该是可以安装上的.
https://pypi.org/
查pip能找到安装方法.
https://pip.pypa.io/en/stable/installation/
https://github.com/pypa/get-pip
Download the script, from https://bootstrap.pypa.io/get-pip.py
一个中文的安装说明
https://blog.csdn.net/yuanwangshui/article/details/121902735
cd \python
python get-pip.py
如果不修改系统的PATH
想运行pip就
cd \python\scripts
测试安装pymysql, pymodbus 是成功的. 但pymodbustcp出错. 应该是包里的setup脚本运行出错.
#这里说一下我对 python310._pth 的了解.
加入了 import site
就可以执行 quit()函数了. 加载了什么我也不清楚. 想知道应该看一下 site都做了什么.
上面写的目录. 可以把安装程序的目录写进去. 那样就可以引用脚本所在的目录下面copy进去的python模块了.
中文文档中加 … 我感觉是不需要的.
我最后修改成
.
c:\jqk
import site
三行 这里我加上程序所在目录 c:\jqk 按自己需要改.
这里加上它. 主要还是因为 pymodbustcp模块pip安装出错.我也就直接放在程序目录里调用了.
####################
五. 把我的程序copy进去测试一下.
我建一个tcpclient.bat文件 内容:
@echo off
c:
cd /jqk
c:\python\python tcpclient.py jqk.cfg
改了两处程序错误. 就可以正常动行了.
在win10系统中. windows 病毒防护 可能会限制.bat类型文件的启动.
解决方法应有
不用bat写个vbs文件? 我不太会.
关了…设置 病毒防护啥地…
#编码问题. win10我的默认编码是gbk. python程序打开文本时默认使用系统编码.
编码问题需要全面考虑一下. 不过我习惯了都用utf8
感觉 程序, 配置文件都用utf8 统一起来是没什么问题的. 但如果对接的程序要使用别的编码.
就得再考虑怎么设置了.
########################
六. 备份打包.
打开 c:\位置.
选择 python, jqk, npp三个文件夹. 右键选择 发送到-> 加到zipped文件夹
生成压缩包 python.zip 大小为 23.2M
我再传出来. 恢复系统. 再做一下测试.
将虚拟机恢复成没安装python之前的备份.
把备份的三个目录恢复. 测试程序执行完全正常. 先收工了.