【发布时间】:2012-08-27 20:48:08
【问题描述】:
我正在使用 paramiko 并通过 ssh 创建一些虚拟环境,如下所示:
from paramiko import SSHClient, SSHConfig
def ssh_connect(self):
# ssh config file
config = SSHConfig()
config.parse(open(settings.SSH_CONFIG))
o = config.lookup('my_key')
# ssh client
ssh_client = SSHClient()
ssh_client.load_system_host_keys()
ssh_client.connect(o['hostname'], username=o['user'])
return ssh_client
def create_virtualenv(self):
ssh = self.ssh_connect()
venv_path = '/srv/virtualenvs/%s' % self.domain
cmd = 'virtualenv %s' % env_path
stdin = ssh.exec_command(cmd)
self.create_database()
ssh.close()
现在我在这里遇到了一些困难,因为我还想将 Django 安装到这个新创建的带有 pip 的 virtualenv 中。我尝试了一个 postmkvirtualenv 钩子,因为我确实在该服务器上安装了 virtualenvwrapper,但是当我使用上面的代码创建新环境时,它似乎没有运行。
谁能给我任何关于如何以这种方式安装 Django 的提示?
【问题讨论】:
-
不是为了自动部署,我们有一个内部系统供我们的员工使用,这只是为了启动一个新环境,因为无法访问该服务器,我只想简单地为他们创建环境像上面一样通过 ssh。
-
@JeffC 这正是 Ansible 所做的......
标签: django rabbitmq celery pip