[英]How do I Activate a Python venv Automatically when starting PowerShell?
[英]How can I activate a Python venv automatically when I ssh into a vagrant box?
在運行 Ubuntu 16.04 的 Vagrant VM 中,我使用以下命令創建了 Python 3 虛擬環境:
python3 -m venv /home/vagrant/venv
當我vagrant ssh
,我可以使用以下任一方法激活它:
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
共享目錄中啟動,但第二行似乎沒有做任何事情。
問題解決了。 ~/.profile
將在每個ssh登錄名上運行:
config.vm.provision "shell", inline: 'echo ". /home/vagrant/venv/bin/activate" > ~/.profile', privileged: false
如果您在Vagrantfile 中使用以下行,問題將得到解決:
config.vm.provision "shell", inline: 'echo ". /home/vagrant/venv/bin/activate" > ~/.profile', privileged: false
如果您需要激活 Python 環境並將目錄更改為 /vagrant,請在Vagrantfile 中使用以下行:
config.vm.provision "shell", inline: 'echo ". /home/vagrant/venv/bin/activate && cd /vagrant" > ~/.profile', privileged: false
在一天結束時,你的Vagrantfile應該看起來像(加上你自己的配置):
Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: 'echo ". /home/vagrant/venv/bin/activate && cd /vagrant" > ~/.profile', privileged: false
end
不要忘記在終端上運行vagrant up --provision
以使您的更改在salve Vagrantfile后計數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.