【问题标题】:Package a python project using batch scripts使用批处理脚本打包 python 项目
【发布时间】:2015-09-01 21:13:49
【问题描述】:

您好,我目前有一个使用子进程的 python 项目。 Popen 运行一些批处理文件。

是否可以将批处理文件打包为源文件。因此,当我们的一些其他 python 项目使用 setup.py 将当前 python 项目包含在 install_requires 中时,其他项目可以安装和更新这些批处理文件并从源代码使用它(即使用 subprocess.Popen 运行这些脚本)?

有人知道我应该怎么做吗?

提前致谢!

【问题讨论】:

  • 到目前为止你有什么?
  • 几个批处理文件,在各种 python 项目中重复使用。我们过去在部署 python 项目时只是简单地从 svn/git 中获取批处理文件。但是,我们正在尝试找出是否有一种方法可以让我们使用批处理文件,就像使用我们可以在 setup.py 中指定的 python 模块一样,setuptool 可以为我们获取它。

标签: python git python-2.7 batch-file setuptools


【解决方案1】:

如果您有运行 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)

更新

基于其他 cmets,如果您需要一种方法让第三方包可以访问批处理脚本,您可以在 setuptools 的 'scripts' 键中指定脚本。您可以在 setuptools here 中看到此可用选项。

【讨论】:

    猜你喜欢
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多