python远程调用
1. python3如何实现 远程调用
XMLRPCLIB或者是rpyc两个库都简单好用。还有些老版本的远程 过程 调用,都有很多限制。其实restful方式,通过WEB远程调用也不是不可以呵。
rpyc效率不高,不过简单,强大。 可以在pypi这个网站下载,其它的包也可以在这里下载。
另外如果自己想追求效率,可以直接使用socketserver,帮助里有一个例子,复制过来改一改就能用。
此外 twist方式实现的通讯也很强大。
rpyc是源码。你直接python setup.py install就可以安装上。 不需要编译好的版本。也不存在不兼容的问题。
此外thrift, avro都是hadoop大数据环境里常用的协议,还有protocol_buf,都可以研究一下。
2. 如何远程调试Python代码
JetBrains 公司出品的集成开发环境以制作精良风格一致得到广泛好评,PyCharm 作为其中一款针对 Python 语言的 IDE 给了我很多帮助,感觉比较好用的是这个远程调试。
远程调试的代码部署在远端服务器上,通过网络传输使用本机进行单步调试。实用场景为本机为非 GPU 机器,可以在远端 GPU 服务器上运行程序,观察程序运行过程中,各个变量在断点处的当前值。
本机打开程序,新建一个configuration
如上图所示
类型为远程调试
填写 本机 ip和端口,
python2.x拷贝pycharm-debug.egg到远端机器,python3.x拷贝的是pycharm-debug-py3k.egg
程序中加入
sys.path.append('/path/to/your/remote/pycharm-debug.egg')
import pydevd
pydevd.settrace('172.18.76.241', port=8602, stdoutToServer=True, stderrToServer=True)123
本机先debug此configuration,然后远端再运行,默认断点为pydevd.settrace的下一行
3. 如何使用python远程登录一个操作系统,并执行某条命令
你可以使用python的pexcpct包通过ssh调用远程服务器指令:
import pxssh
import getpass
try:
s = pxssh.pxssh()
hostname = raw_input('hostname: ')
username = raw_input('username: ')
password = getpass.getpass('password: ')
s.login (hostname, username, password)
s.sendline ('uptime') # run a command
s.prompt() # match the prompt
print s.before # print everything before the propt.
s.sendline ('ls -l')
s.prompt()
print s.before
s.sendline ('df')
s.prompt()
print s.before
s.logout()
except pxssh.ExceptionPxssh, e:
print "pxssh failed on login."
print str(e)
使用Python连接数据库首先需要安装Python的数据库驱动。
我的本地只装了Python,并没有装MySQL,当我使用命令:
sudo pip install mysql-python
安装驱动(也就是MySQLdb模块)的时候出现如下错误:
EnvironmentError: mysql_config not found
查资料 知道是因为没有安装下面两开发包:
libmysqld-dev
libmysqlclient-dev
安装:
sudo apt install libmysqld-dev
事实上用apt安装第一个之后,第二个也已经存在了。再次尝试安装mysql-python就成功了。
现在尝试远程连接数据:
import MySQLdb
conn = MySQLdb.connect(host = '×××××××××××××', # 远程主机的ip地址,
user = 'root', # MySQL用户名
db = 'alimusic', # database名
passwd = '××××××', # 数据库密码
port = 3306, #数据库监听端口,默认3306
charset = "utf8") #指定utf8编码的连接
cursor = conn.cursor() # 创建一个光标,然后通过光标执行sql语句
cursor.excute("select * from table1 limit 10")
values = cursor.fetchall() # 取出cursor得到的数据
cursor.close(); conn.close() #最后记得关闭光标和连接,防止数据泄露
如果excute()执行的是插入数据的代码,那么在执行完成之后需要调用
cursor.commit()
才能把结果写入数据库
中文乱码
编码错误在任何时候都必须重视的问题,由于连接数据库涉及到多个层次,比如数据库服务器编码,创建的database编码,table的编码,连接(也就是上面的conn)编码。如果出现乱码,需要检查上述的每一个环节。这里记录几个查询各种编码的方式:
查询数据库的各种编码:
show variables like "%char%";
查询某个数据库的默认编码
show create database databasename;
查询某张表的默认编码
show create table tablename;
最好在create数据库或者表的时候在创建语句后面指定具体的编码方式:default character set utf8
5. 如何使用python执行远程shell脚本
pexpect复杂,但通用灵活。另外一种法就是ssh-keygen/ssh--id,实现自动密钥验证取代手动密码验证,然后就可以直接调用远程‘[email protected]’,麻烦之处在于要手动创建与维护两台机器间的公钥。至于捕获输出,还是要变通一点,既然B都登陆到A了,那么通过临时文件向A输出内容不是更简单吗,这是shell编程中简单有效的法。还可以使用sftp
6. python远程操作windows服务器有什么方案
可以使用python+paramiko。 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。 使用paramiko可以很好的解决以下问题: 需要使用windows客户端, 远程连接到linux服务器,查看上面的日志状态,批量配置远程服务器,文件上传,文件下载等 具体可以参考: http://www.paramiko.org/
7. python rpyc 远程网络调用请教!
socket.timeout: timed out连接超时,需要你先运行服务端的代码:
sr=ThreadedServer(TestRpyc,hostname="0.0.0.0",port=9999,auto_register=False)
sr.start()
添加下hostname试一下。
如果解决了您的问题请采纳!
如果未解决请继续追问
8. 如何使用Python连接远程Windows服务器
在服务器的电脑上添加第二块网卡,用于连接Internet。用域管理员账户在远程访问服务器上登录。为第二块网卡添加公网IP地址
在远程访问服务器上,从“管理工具”中打开,“服务器管理器”窗口,选中“角色”,单击“添加角色”,打开“添加角色向导”窗口。
在弹出来的“开始之前”窗口中点击“是”按钮。
单击“下一步”“进入选择服务器角色””窗口,选择“网络策略和访问服务”单击“下一步”。
在“网络策略和访问服务”简介窗口单击“下一步”,在“选择角色服务”窗口选择“路由和远程访问服务”。
接下来会显示安装进度
等安装好了以后,点击关闭就可以了。
9. 如何通过python脚本连接批量的远程服务器执行python脚本,服务器都是windows系统
Python的特色简单 Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。 易学 就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。 免费、开源 Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
10. 情况下如何使用pycharm进行远程调试
一.介绍
Python远程调试,即在远程机器上运行python代码,在本地进行调试。
需要环境:python
调试环境:PyCharm
需要依赖:远程和本地需要在python路径安装pycharm-debug.egg
注:安装egg包需要使用先安装setuptools
二.安装setuptools
在windows/linux环境下直接使用ez_setup.py脚本安装:
1. 下载脚本:该脚本会自动下载setuptools-1.1.6.tar.gz
2. 运行脚本:python ez_setup.py 即可完成setuptools安装
(注:如果机器连不上服务器,可以把ez_setup.py和setuptools-1.1.6.tar.gz包拷贝到该机器上,并放在同一目录下,然后运行ez_setup.py即可)
三.安装pycharm-debug.egg
在PyCharm的安装目录下能找到pycharm-debug.egg,在python的安装路径下能找到easy_intall命令(已安装了setuptools),执行:
easy_install.exe pycharm-debug.egg即可完成安装。
四.远程调试
1. 打开PvCharm,配置远程调试:
(a). 打开edit confiurations
(b). 添加Python Remote Debug
(c). 配置本地的ip、端口号,如:192.168.112.6,此ip为你进行调试操作的机器的ip,远程机器需要连上这个ip。
(d)在远程机器上编写将在本地调试的python代码,在入口处加上:
import pydevd
pydevd.settrace('192.168.112.6',port=51234, stdoutToServer=True, stderrToServer=True)
配置的ip、端口好即在本地PvCharm上配置的ip和端口号,即PvCharm所在机器的ip和开启调试的端口号。
2. 开始调试
a) 在本地PvCharm上开始调试服务,
b) 在远程机器上运行python脚本:
c) 此时可点击”Download”下载源码:
d) 开始调试: