私はparamikoを使用しており、次のようにssh上にいくつかのvirtualenvを作成しています。
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()
ここで少し壁にぶつかりました。これは、pipを使用して新しく作成されたvirtualenvにもDjangoをインストールしたいためです。そのサーバーにvirtualenvwrapperがインストールされているため、postmkvirtualenvフックを試しましたが、上記のコードを使用して新しい環境を作成すると、それが実行されないようです。
この方法でDjangoをインストールする方法について誰かが私にヒントを教えてもらえますか?