我正在嘗試編寫一個簡單的腳本來幫助我激活(源)virtualenv並同時設置一些環境變量。下面是當前沒有任何環境變量的版本。在Bash腳本中採購/激活Python VirtualEnv
#!/bin/bash
if [ -z "$BASH_VERSION" ]
then
exec bash "$0" "[email protected]"
fi
# Your script here
script_dir=`dirname $0`
cd $script_dir
/bin/bash -c ". ./django-env/bin/activate; exec /bin/bash -i"
該腳本的麻煩是雙重的。
當我運行它 - 看似成功,因爲它改變了命令行前綴
(django-env)
- 它缺少在它前面的My-Computer-Name:
。很明顯,這是一個指示,因爲我通常有(django-env) My-Computer-Name:
作爲前綴。它沒有正確激活virtualenv。也就是說,當我檢查
which python
時,我收到了使用virtualenv Python的通知。另一方面,當我檢查which pip
或which python3
時,使用全局系統的Python。
我能做些什麼來解決這些問題,並激活環境?
不要在子shell中運行 - 直接刪除'/ bin/bash -c'。 ./django-env/...'或'source ./django-env/..'。你如何運行腳本? – AChampion
我正在運行'source script.sh'。 – MadPhysicist
它看起來像你試圖重新發明輪子 - 嘗試[virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/)。 – rafalmp