我正在构建一个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'
答案 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