我是Python的新手,正在尝试使用pymodbus模块创建一个modbus服务器。我遵循关于link的教程,但是运行脚本时出现错误:
overflow:auto;
任何人都可以帮助我解决我的问题,谢谢。
[更新]:
$ python2.7 server1.py
INFO:pymodbus.server.async:Starting Modbus TCP Server on 192.168.1.100:502
Traceback (most recent call last):
File "server1.py", line 83, in <module>
StartTcpServer(context, address=("192.168.1.100", 502))
File "/home/pi/.local/lib/python2.7/site-packages/pymodbus/server/async.py",
line 255, in StartTcpServer
reactor.listenTCP(address[1], factory, interface=address[0])
File "/home/pi/.local/lib/python2.7/site-
packages/twisted/internet/posixbase.py", line 495, in listenTCP
p.startListening()
File "/home/pi/.local/lib/python2.7/site-packages/twisted/internet/tcp.py",
line 1363, in startListening
raise CannotListenError(self.interface, self.port, le)
twisted.internet.error.CannotListenError: Couldn't listen on
192.168.1.100:502: [Errno 13] Permission denied.
我已经尝试过“ sudo”并出现错误,看来当我使用“ sudo”时模块不在正确的位置...
答案 0 :(得分:0)
尝试使用sudo
权限:
$ sudo python2.7 server1.py
或者如果您的python
通过以下方式链接到 Python 2.7 :
$ python -V
Python 2.7.14
然后尝试:
$ sudo python server1.py
[更新]:
以下几行结果必须相同:
$ which python
/usr/bin/python
$ sudo which python
/usr/bin/python
如果代码在同一台计算机上运行,则可以使用localhost
或127.0.0.1
IP而不是计算机IP。
[注意]:
如果您的操作系统是基于 * nix 的系统,并且您具有ufw
防火墙,请执行以下命令:
$ sudo ufw disable