将Makefile移植到dodo.py,我想在路径上找到"nikola“,而不是直接调用它
在Makefile中,我会做一些类似的事情
NIKOLA = $(which nikola)但是,我似乎无法找到doit/dodo/python与我当前的文件类似的如下所示
import subprocess
Nikola = subprocess.Popen("nikola", stdout=subprocess.PIPE, shell=True)
def task_build():
return {
'actions': ['{0} build'.format(Nikola)],
}但是,运行task_build会返回以下内容
########################################
Execution aborted.
Task 'build': invalid 'actions' type. got:<subprocess.Popen object at 0x10111f810> <class 'subprocess.Popen'>
(env)发布于 2015-01-06 12:07:42
试试这个:
>>> import subprocess
>>> subprocess.check_output(['which','nikola'])
'/Users/elyase/miniconda/bin/nikola\n'就你而言:
def task_build():
return {
'actions': ['{0} build'.format(Nikola)],
}
>>> Nikola = subprocess.check_output(['which','nikola']).rstrip()
>>> task_build()
{'actions': ['/Users/elyase/miniconda/bin/nikola build']}https://stackoverflow.com/questions/27798189
复制相似问题