因此您可以使用distutils来创建文件,例如
PIL-1.1.6.win32-py2.5.exe
您可以运行并使用它来轻松安装某些东西。但是,安装需要用户输入才能继续(您必须单击“确定”三次)。我想创建一个易于安装的Windows版本,您只需将其作为cmd行程序运行,不需要用户输入。这可能吗?这些.exe文件是否已经完成,但你需要传递一个魔法cmd行参数才能工作吗?
答案 0 :(得分:1)
请参阅this post,其中描述了修改存根安装程序的想法,如下所示:
它还提到了另一种选择:使用setup.py bdist_msi
代替,它将生成一个msi包,可以无人值守安装
答案 1 :(得分:0)
通过运行“setup.py bdist_wininst”获取可执行文件。通过运行“setup.py bdist_dumb”可以让事情更简单。这将生成一个.zip文件,该文件在安装了Python的驱动器的根目录中解压缩,只要它安装在与您构建它的机器相同的目录中,就会安装该库。
现在我不知道Windows下是否有可以用来执行此操作的解压缩命令行实用程序;我通常在我的所有Windows机器上都安装了Cygwin,但是使用.zip发送它可能非常简单。
答案 2 :(得分:0)
在使用简单的批处理文件调用setuptools的安装脚本之前,我已经完成了这个操作,并将egg文件路径作为参数传递给它。唯一的麻烦是你需要确保脚本在PATH中,它可能不是。
假设Python本身在PATH中你可以在python脚本中尝试这样的东西,你可以用你的蛋分配(称之为install.py或者其他)。
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文件。它应该为你做其余的事。
HTH