2015-06-16 16 views
0

您好我目前有一個使用子進程的python項目。 Popen運行一些批處理文件。使用批處理腳本打包python項目

是否有可能打包批處理文件作爲來源。因此,當我們的一些其他python項目使用setup.py將當前python項目包含在install_requires中時,另一個項目可以安裝並更新這些批處理文件並從源文件中使用它(即使用子進程Popen也運行這些腳本)?

任何人有一些想法,我應該怎麼辦呢?

在此先感謝!

+0

到目前爲止你有什麼? –

+0

幾個批處理文件,在各種python項目中重用。我們以前只是在部署python項目時從svn/git抓取批處理文件。然而,我們正試圖弄清楚是否有一種方法可以讓我們使用批處理文件來處理與我們可以在setup.py中指定的python模塊相同的工作,並且setuptool可以爲我們抓取它。 – ccZz

回答

0

如果您有需要運行Python包的bash腳本,你可以簡單地將它們存儲你的包文件夾中,他們應該在安裝使用setuptools的包時被包括在內。這裏是一個可能的文件夾結構的例子:在main.py您可以通過訪問該批處理文件

/myproject 
    /myproject 
     __init__.py 
     main.py 
     batch.sh 
    setup.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) 

UPDATE

基於其他意見,如果您需要一種方法使批處理腳本可以被第三方包訪問,您可以在setuptools的'腳本'鍵中指定腳本。您可以在setuptools here中看到此可用選項。