首页 文章

使用Fabric的Django自动部署

提问于
浏览
1

我想使用Fabric3自动部署我的django项目

这是我的fabfile.py

from fabric.api import env
    from fabric.api import run
    from fabric.operations import sudo

    GIT_REPO = "https://github.com/........"

    env.user = 'root'
    env.password = '...'

    env.hosts = ['demo....com']
    env.port = '22'


    def deploy():
        source_folder = '/home/.../sites/..../...'

        run('cd %s && git pull' % source_folder)
        run("""
            cd {} &&
            ../env/bin/pip install -r requirements.txt &&
            ../env/bin/python3 manage.py collectstatic --noinput &&
            ../env/bin/python3 manage.py migrate
            """.format(source_folder))
        sudo('restart gunicorn-demo.charon.me')
        sudo('service nginx reload')

以下是我如何运行它: python fabfile.py fab deploy

最后这是错误:

Traceback (most recent call last):
  File "/Users/charon/Documents/PycharmProjects/try_blog/fabfile.py", line 1, in 
    from fabric.api import env
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/fabric/api.py", line 10, in 
    from fabric.context_managers import (cd, hide, settings, show, path, prefix,
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/fabric/context_managers.py", line 27, in 
    from fabric.state import output, win32, connections, env
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/fabric/state.py", line 9, in 
    from fabric.network import HostConnectionCache, ssh
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/fabric/network.py", line 16, in 
    from fabric.exceptions import NetworkError
ImportError: cannot import name 'NetworkError'

Plz帮我这个!!!!

2 回答

  • 1

    不应该是 fab -f fabfile.py deploy

    无论如何,你可能有一个混乱的安装,尝试:

    which python
    

    那匹配:

    /Library/Frameworks/Python.framework/Versions/3.6/bin/python
    
  • 0

    面料有两个版本 . 您的代码与结构版本不匹配 .

    pip uninstall fabric
    
    pip install 'fabric<2.0'
    

    事情会好起来的 .

相关问题