您好我目前有一个使用子进程的python项目。 Popen运行一些批处理文件。
是否可以将批处理文件打包为源。因此,当我们的一些python项目使用setup.py在install_requires中包含当前的python项目时,另一个项目可以安装和更新这些批处理文件并从源代码中使用它(即运行这些脚本与子进程.Popen也是如此)?
任何人都知道我应该怎么做?
提前致谢!
答案 0 :(得分:0)
如果你有运行你的python包所需的bash脚本,你可以简单地将它们存储在你的包文件夹中,并且在使用setuptools安装包时应该包含它们。以下是可能的文件夹结构示例:
/myproject
/myproject
__init__.py
main.py
batch.sh
setup.py
在main.py中,您可以通过以下方式访问批处理文件:
import os.path
import subprocess
current_dir = os.path.dirname(os.path.abspath(__file__))
batch_script = os.path.join(current_dir, 'batch.sh')
subprocess.call(batch_script)
<强>更新强>
根据其他评论,如果您需要一种方法使第三方软件包可以访问批处理脚本,您可以在setuptools的“脚本”键中指定脚本。您可以在setuptools here中看到此可用选项。