因此,您可以使用Distutils创建文件,例如
PIL-1.1.6.win32-py2.5.exe
你可以运行并使用它轻松安装某些东西。但是,安装需要用户输入才能继续(您必须点击三次“确定”)。我想创建一个易于安装的Windows版本,您只需将其作为cmd行程序运行,而无需用户输入。这是可能的吗?这些.exe文件是否已经这样做了,但需要传递一个神奇的cmd行参数才能工作?
因此,您可以使用Distutils创建文件,例如
PIL-1.1.6.win32-py2.5.exe
你可以运行并使用它轻松安装某些东西。但是,安装需要用户输入才能继续(您必须点击三次“确定”)。我想创建一个易于安装的Windows版本,您只需将其作为cmd行程序运行,而无需用户输入。这是可能的吗?这些.exe文件是否已经这样做了,但需要传递一个神奇的cmd行参数才能工作?
我以前已经用简单的批处理文件调用setuptools的安装脚本并将egg文件路径作为参数传递给它。唯一的麻烦是你需要确保脚本在PATH中,而这可能不是。
假设Python本身在PATH中,您可以尝试在一个Python脚本中执行以下操作(将其命名为install.py或其他类似名称),然后与egg一起分发:
import sys
from pkg_resources import load_entry_point
def install_egg(egg_file_path):
sys.argv[1] = egg_file_path
easy_install = load_entry_point(
'setuptools==0.6c9',
'console_scripts',
'easy_install'
)
easy_install()
if __name__ == "__main__":
install_egg("PIL-1.1.6.win32-py2.5.egg")
本质上这与“easy_install.py”脚本的功能相同。您正在定位该脚本的入口点,并设置sys.argv,以便第一个参数指向您的egg文件。它应该为您完成其余部分。
希望对您有所帮助
通过运行 "setup.py bdist_wininst" 可以获得可执行文件。通过运行 "setup.py bdist_dumb" 可以获得更简单的东西。这将生成一个 .zip 文件,解压到安装 Python 的驱动器的根目录下,前提是它安装在与构建机器相同的目录中,就会安装库。
现在我不知道在 Windows 下是否有可以用来执行此操作的解压缩命令行实用程序;我通常在所有 Windows 箱子上都安装了 Cygwin,但只需将其与 .zip 一起发送可能会证明非常简单。