簡體   English   中英

在pyenv-virtualenv上激活虛擬環境時,如何導出PYTHONPATH?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM