如何在特定环境中运行fabric命令
我在我的模块里定义了不同的环境:
__init__.py
def localdev():
"""
Work on local dev environment
"""
env.db_credentials = {'user':'username', 'pass':'passs','name':'mydb'}
env.uwsgi_command = 'uwsgi'
env.settings = 'local_dev'
env.hosts = ['dev@localhost']
dev production():
pass
在 deploy.py
文件里
from __future__ import with_statement
import os
from fabric.api import *
from fabric.decorators import task
@task
def flush_cache(environment, ):
"""
Clear memcached cache
"""
sudo('/etc/init.d/memcached restart', pty=True)
fabfile.py
文件里
from mymodule import *
现在我应该怎么在我的本地开发环境中运行我的代码呢?
fab localdev deploy.flush_cache
Fatal error: Command(s) not found:
localdev
Aborting.
谢谢!
1 个回答
0
你需要在fabfile.py里引入init.py。传给fabric的参数会被当作fabfile.py里的函数名来用。因为你没有引入这个模块,所以这个函数就不存在,这样就会出现找不到命令的错误。