Python包装:要求非python二进制文件或安装它们,如果它们不在那里?

时间:2016-01-20 19:37:38

标签: python package setuptools setup.py

我正在编写一个包装非python程序的程序包,我和我的团队经常需要自动化。我用setuptools打包它,并希望将它提供给我们的其他开发人员或我们的运营团队。

这就是我想要做的。它包装的程序显然需要在我的模块上工作。所以,我想我需要setuptools来检查它是否已经安装,如果不是,请安装它。

有没有办法在setup()中执行此操作,或者该步骤需要手动(或由其他东西处理)?或者......这应该只是留在模块中的东西吗?它大约50MB,所以不是很大。

1 个答案:

答案 0 :(得分:1)

您的程序需要安装还是便携版?

如果它是可移植的,你可以用相对路径触发它,然后在你编译的python脚本中重新创建相同的结构。

folder/
 main.py
 bin/
   file.exe

我们想说你想从main.py

中称呼二进制文件
# main.py
import os

# get the current directory dynamically
base_dir = os.getcwd()
# create the file path
file_path = os.path.join(base_dir, 'bin',  'file.exe')
# run the file
os.system(file_path)

编译文件后,您应在目标中创建文件夹bin并复制到file.exe