![](/img/trans.png)
[英]Issues with pyenv-virtualenv: Python and PIP not changed when activating / deactivating virtual environment
[英]How to export PYTHONPATH when I activate a virtual environment on pyenv-virtualenv?
我正在使用pyenv及其插件pyenv-virtualenv 。
我的問題是:當我在pyenv-virtualenv上激活某些虛擬環境時,如何修改PYTHONPATH環境變量?
$ pyenv activate myenv
$ echo $PYTHONPATH # I want this variable!
當我使用簡單的virtualenv時,我可以通過編輯virtualenv_home/your_env/bin/activate
來修改PYTHONPATH
export OLD_PYTHONPATH=$PYTHONPATH
export PYTHONPATH="/path/to/you/want"
我應該為pyenv-virtualenv編輯哪個文件?
您只需按照常規設置PYTHONPATH
,無論是在Shell啟動腳本中還是在其他位置。 當您使用pyenv virtualenv
切換到pyenv控制的virtualenv時,它將自動pyenv virtualenv
所有必要目錄追加到sys.path
,但是您在PYTHONPATH
變量中定義的任何目錄都將位於它們之前。
根據以下評論中的討論添加:
您可以在$PYENV_HOME/pyenv.d/<command>/
為給定的pyenv命令<command>
創建掛鈎腳本。 您甚至可以為pyenv的“瓷器”命令執行此操作,通常用戶不會直接調用這些命令。
應該有可能創建一個用於activate
的鈎子(在切換到virtualenv時由pyenv-virtualenv隱式調用),該鈎子解析virtualenv的名稱並根據該名稱設置$PYTHONPATH
。
注意:我之前已經寫過pyenv掛鈎,但是還沒有明確測試這個解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.