如何使用像bdist_wininst这样的bdist_rpm?

时间:2015-01-08 13:54:34

标签: python tkinter centos rpm distutils

我正在构建一个Tkinter应用程序并将其分发给centos和win7

为win7打包时

python setup.py bdist_wininst --install-script script_to_create_shortcut.py

在开始菜单和桌面

的启动器上工作得非常好

但对于CentOS

python setup.py bdist_rpm --install-script script_to_create_shortcut_for_linux.py

悲惨地失败

虽然后来我意识到rpm需要sh文件执行所以我使用了安装后脚本

python setup.py bdist_rpm --post-install=script_to_create_shortcut_for_linux.py

失败,因为它也是存储在sh文件中的python代码

现在,我写了一个运行python -c "from module import post_install_script"的sh文件 但由于安装后脚本无法找到正确的函数名称

,因此也失败了

setup.py

setup=(..
      scripts=[os.path.join('tickets','complaints.py'),
               os.path.join('tickets','shortcut_linux.py'),
               os.path.join('tickets','tickets.svg')],
...)

快捷方式创建者或安装后的python脚本

        file_created(os.path.join(sys.prefix,'bin','complaints.py'))
        desktop=get_special_folder_path("CSIDL_COMMON_DESKTOPDIRECTORY")
        startmenu=get_special_folder_path("CSIDL_COMMON_STARTMENU")
        create_shortcut(os.path.join(sys.prefix,'bin','complaints.py'),
                        "Complaints Register",
                        os.path.join(desktop,'complaints.desktop'),
                        '','',
                        os.path.join(sys.prefix,'bin','tickets.svg'))
        file_created(os.path.join(desktop,'complaints.desktop'))
        create_shortcut(os.path.join(sys.prefix,'bin','complaints.py'),
                        "Complaints Register",
                        os.path.join(startmenu,'complaints.desktop'),
                        '','',
                        os.path.join(sys.prefix,'bin','tickets.svg'))

失败并显示错误全局名称file_created未定义...

为什么rpm不像wininst那么简单,它可以非常简单地完成所有操作

我花了太多时间在这背后...任何帮助将不胜感激 感谢

注意:对于wininst,快捷方式文件有不同的路径,例如:它dint有' bin'

1 个答案:

答案 0 :(得分:-1)

您是否在Windows/CentOs?中构建rpm如果是centos system,则需要使用 - >

安装rpm-build package来构建rpm

python setup.py bdist_rpm

首先,使用命令 - >

安装rpm-build软件包

yum install rpm-build

然后,运行命令 - >

python setup.py bdist_rpm