我正在编写一个 Python 脚本,它将在许多不同的服务器上运行。脚本的一个重要部分依赖于 paramiko 模块,但服务器可能尚未安装 paramiko 包。一切都需要自动化,所以用户所要做的就是运行脚本,一切都会为他们完成。他们不需要手动安装任何东西。
我看到人们推荐使用 Active Python / PyPM,但同样需要安装。
有没有办法从 Python 脚本下载和安装 Paramiko(和任何包)?
一种简单的方法(也很可怕)是定义一个具有执行权限的外部 bash 文件:
安装程序.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
将您的 Python 程序包装在一个 shell 脚本中,该脚本检查是否paramiko
已安装,如果未安装,则在运行您的程序之前进行安装。