使用pyenv來管理python版本


使用pyenv可以很方便的切換python版本,而不會影響系統的python版本,對需要使用supervisor(僅支持python2)托管程序,項目使用python3開發的情況十分有用

pyenv的一些認識

  • pyenv通過在系統路徑PATH前添加shims目錄來工作
ubuntu@VM-0-9-ubuntu:/srv/www/trader-log-gallery$ echo $PATH
/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/.pyenv/shims:/home/ubuntu/.pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

這樣系統因為先找到pyenv預先shim到PATH前的路徑,而執行pyenv安裝的python,pip。

  • 當我們使用pyenv local python-version 為當前目錄指定python版本時,會在當前目錄下生成一個.python-version的文件。
  • pyenv將不同的python安裝在 $(pyenv root)/versions/下
ubuntu@VM-0-9-ubuntu:/srv/www/trader-log-gallery$ ls ~/.pyenv/versions/ -l
total 8
drwxr-xr-x 6 ubuntu ubuntu 4096 Oct 17 17:42 2.7.12
drwxr-xr-x 6 ubuntu ubuntu 4096 Oct 22 16:13 3.6.6

pyenv的安裝更新,ubuntu將bash_profile替換成bash_profile

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
exec "$SHELL"

使用pyenv安裝python

  • 查看可用的python版本號pyenv versions
  • 安裝指定版本的python,pyenv install 3.6.6
  • 將某個版本設置為全局可用python global 3.6.6
  • 設置當前目錄的python版本python local 3.6.6

推薦查看pyenv完整文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM