我正在编写一个Python脚本,它将在许多不同的服务器上运行。脚本的一个重要部分依赖于paramiko模块,但服务器可能还没有安装paramiko软件包。一切都需要自动化,所以用户所要做的就是运行脚本,一切都将为他们完成。他们不需要手动安装任何东西。
我见过人们推荐使用Active Python / PyPM,但同样需要安装。
有没有办法从Python脚本下载和安装Paramiko(以及任何软件包)?
答案 0 :(得分:1)
一种简单的方法(也是可怕的)是定义一个具有执行权限的外部bash文件:
<强> installer.sh 强>
#!/bin/sh
pip install paramiko
我假设安装了pip
,但您可以连接任何一组命令以安装paramiko。
然后从你的Python文件
<强> foo.py 强>
try:
import paramiko
except:
import subprocess
subprocess.call('./installer.sh', shell=True)
然而安装问题不属于您的应用程序,您应该考虑使用distutils
使用setup.py
在您的软件包的安装install_requires
中定义依赖项。
答案 1 :(得分:0)
将Python程序包装在一个shell脚本中,该脚本检查paramiko
是否已安装,如果在运行程序之前未安装它。