相信只要你要用Python恋脚,那么虛擬環(huán)境是必不可少的腺办。你總得讓自己能夠使用Python2運行舊項目,又能夠用Python3運行較新的項目糟描。那么pyenv是你最佳的選擇怀喉。搗騰公司的電腦和自己的電腦無數(shù)次,安裝了很多次pyenv船响,但是每一次都會遇到問題躬拢。最多頻率遇到的問題就是,pyenv安裝好了见间,但是環(huán)境變量配置有問題聊闯,無論你用 pyenv global 怎么切換版本,當你執(zhí)行 python 命令之后缤剧,你都會發(fā)現(xiàn)馅袁。。
第一反應:臥槽荒辕,怎么又是這樣子汗销。
沒辦法,今天終于還是忍不住了抵窒,不搜帖子弛针,決定照著官網(wǎng)的安裝教程來一遍。
1李皇、pyenv的github地址
2削茁、clone源碼下來
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
源碼clone在用戶目錄下的隱藏目錄 .pyenv 中
也可以用 brew 來安裝,命令: brew insatll pyenv 掉房,大部分帖子也是這么做的茧跋。這個可以自行搜索,此處不再贅述卓囚。
3瘾杭、配置環(huán)境變量
(1)在命令行中執(zhí)行以下兩句命令:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >>~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >>~/.bash_profile
如果你用的是 Zsh ,就寫入 ?~/.zshrc 文件哪亿。沒有這個文件請自己新建一個就好了粥烁。
如何確定你用的是 Zsh 還是 bash贤笆。你可以在命令行中執(zhí)行命令查看:
echo $SHELL
效果如下:
使用 Zsh 請執(zhí)行:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >>~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >>~/.zshrc
(2)接著添加以下配置到 .zshrc 或者 ~/.bash_profile??文件
if command -v pyenv 1>/dev/null 2>&1; then
? eval "$(pyenv init -)"
fi
或者直接使用命令寫入:
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi'>>~/.bash_profile
或者
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi'>>~/.zshrc
請注意,請保證這條命令中引號中的內(nèi)容處于 ~/.bashrc 或者 ~/.zshrc 的最底部讨阻。因為在 pyenv 初始化期間會操作 path 環(huán)境變量芥永,可能導致不可預測的錯誤。
我就是經(jīng)常不注意這一點钝吮,每次都坑自己埋涧。建議以后添加其他環(huán)境變量,也都在之前添加搀绣,保證這段在最后飞袋。
最終結(jié)果如圖:
最后,重啟你的終端链患,開始享受pyenv的便利巧鸭。
tips:2021年06月23日補充:
? ? 在服務器上添加完環(huán)境變量配置后,執(zhí)行source麻捻,報錯:
? ??????WARNING: `pyenv init -` no longer sets PATH.
????????Run `pyenv init` to see the necessary changes to make to your configuration. ? ? ? ?
? ? 參考github上的issue:https://github.com/pyenv/pyenv/issues/1906
? ? 修改如下后解決:
? ??????if command -v pyenv 1>/dev/null 2>&1; then
? ????????eval "$(pyenv init --path)"
????????fi
使用pyenv virtualenv管理你的虛擬環(huán)境:Mac OS 安裝pyenv virtualenv插件纲仍,管理虛擬環(huán)境 - 簡書