2017-01-15 7 views
0

は、私が使ってPython 3仮想環境作成しました:私はvagrant ssh、私が使用してそれをアクティブにすることができ迷惑メールボックスにsshでPython venvを自動的に有効にする方法はありますか? Ubuntuの16.04を実行しているベイグラントVMで

python3 -m venv /home/vagrant/venv 

を次のいずれか

source /home/vagrant/venv/bin/activate 

または

. /home/vagrant/venv/bin/activate 

プロビジョニング時に、ファイル/etc/profile.d/login-bash.shを作成しています。

cd /vagrant 
. /home/vagrant/venv/bin/activate 

sshが入力されていると、/vagrant共有ディレクトリで開始しているため、そのファイルが実行されていますが、その2行目は何も実行されていません。

+0

シェルは、サーバーへのSSHたときに実行されているが、プロビジョニング中に使用されているものと同じではありません。 venvが有効になっていませんか? –

+0

だから、私は '/ etc/profile.d /'にファイルを作成しています - このディレクトリのファイルはログイン時に実行されると思いますか?最初の行が期待どおりに実行されるので、私はこの多くの作業を知っています – StringsOnFire

+0

既に仮想マシンを使用している場合は、仮想環境をスキップして、必要に応じてVMのPythonインストールを設定してください。 – chepner

答えて

1

問題を解決しました。 ~/.profileは、それぞれのsshログイン時に実行されます。

config.vm.provision "shell", inline: 'echo ". /home/vagrant/venv/bin/activate" > ~/.profile', privileged: false 
関連する問題