pyenv安裝

pyenv安裝python

https://github.com/pyenv/pyenv,這裏是github的地址,pyenv是一個相似virtualenv的工具,提供python的多版本環境控制git

安裝依賴環境(root用戶):github

yum -y install make gcc patch gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel readline-develsql

安裝pyenv(普通用戶):shell

$ 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 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ exec "$SHELL"

查看支持的python版本:bash

$ pyenv install --list

安裝具體的某個版本:app

[ocean@jenkins ~]$ pyenv install 3.6.2
Downloading Python-3.6.2.tar.xz...
-> https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
Installing Python-3.6.2...
Installed Python-3.6.2 to /home/ocean/.pyenv/versions/3.6.2
[root@jenkins ~]# pyenv install 3.5.2
pyenv: /root/.pyenv/versions/3.5.2 already exists
continue with installation? (y/N) y
Downloading Python-3.5.2.tar.xz...
-> https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
Installing Python-3.5.2...
patching file Lib/venv/scripts/posix/activate.fish
Installed Python-3.5.2 to /root/.pyenv/versions/3.5.2

 

查看安裝的python版本:工具

[ocean@jenkins py362]$ pyenv versions
* system (set by /home/ocean/py362/.python-version)
  3.5.2
  3.6.2

 

 

ok,簡單使用能夠查看幫助:測試

[ocean@jenkins ~]$ pyenv help
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   global      Set or show the global Python version
   shell       Set or show the shell-specific Python version
   install     Install a Python version using python-build
   uninstall   Uninstall a specific Python version
   rehash      Rehash pyenv shims (run this after installing executables)
   version     Show the current Python version and its origin
   versions    List all Python versions available to pyenv
   which       Display the full path to an executable
   whence      List all Python versions that contain the given executable

See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme

 如何切換python版本呢?ui

使用pyenv的local命令:

[ocean@jenkins ~]$ tree 
.
├── py352
└── py362

2 directories, 0 files

 

我在家目錄下分別按照安裝的python版本號創建的對應的目錄,咱們來測試一下:

[ocean@jenkins ~]$ cd py352/
[ocean@jenkins py352]$ python -V
Python 2.7.5

 

如今沒有執行pyenv的local命令時,python版本是系統默認的2.7.5,而後咱們來使用pyenv切換版本:

[ocean@jenkins py352]$ pyenv local 3.5.2
[ocean@jenkins py352]$ python -V
Python 3.5.2

 

直接就成了3.5.2,而後咱們在退回到py362目錄:、

[ocean@jenkins py352]$ cd ../py362
[ocean@jenkins py362]$ python -V
Python 2.7.5
[ocean@jenkins py362]$ pyenv local 3.6.2
[ocean@jenkins py362]$ python -V
Python 3.6.2

 

退回到家目錄看下:

[ocean@jenkins py362]$ cd 
[ocean@jenkins ~]$ python -V
Python 2.7.5

 

仍是系統默認的python版本,這樣就實現了python版本得切換。

[ocean@jenkins py362]$ ll /home/ocean/py362 -a
total 8
drwxrwxr-x 2 ocean ocean   28 Sep  4 19:08 .
drwx------ 6 ocean ocean 4096 Sep  4 19:08 ..
-rw-rw-r-- 1 ocean ocean    6 Sep  4 19:04 .python-version
[ocean@jenkins py362]$ cat .python-version 
3.6.2

 

pyenv就是經過特定目錄下的

.python-version

文件來進行python特定版本的切換,刪掉該文件就回歸到系統默認python程序。

若是你在某個特定python版本目錄下,想使用系統的默認python程序,能夠在特定目錄下執行:

$ pyenv local system

 這樣就實現了python多版本的任意切換。

 

pyenv本地安裝:

#sudo yum -y install git make gcc patch gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel readline-devel
#第一步:
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 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
mkdir ~/.pip
cat > ~/.pip/pip.conf <<eof
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
eof
source ~/.bash_profile
mkdir ~/Downloads/
sudo cp /tmp/Python-2.7.5.tgz ~/Downloads/
cp ~/Downloads/Python-2.7.5.tgz ~/Downloads/8e1b5fa87b91835afb376a9c0d319d41feca07ffebc0288d97ab08d64f48afbf
cd ~/Downloads/
python -m SimpleHTTPServer 8000

 

#第二步:
source ~/.bash_profile
export PYTHON_BUILD_MIRROR_URL="http://127.0.0.1:8000/"
pyenv install 2.7.5
 

可是從http的log中發現收到的請求是一個字符串"HEAD /0010f56100b9b74259ebcd5d4b295a32324b58b517403a10d1a2aa7cb22bca40 HTTP/1.1",咱們要把Python-2.7.5.tar.xz複製一份到這個字符串爲名的文件,而後重啓httpserver,最後用pyenv便可安裝

cp ~/Downloads/Python-2.7.5.tgz ~/Downloads/8e1b5fa87b91835afb376a9c0d319d41feca07ffebc0288d97ab08d64f48afbf
python -m SimpleHTTPServer 8000

pyenv install 2.7.5

 

########################
mdkir ~/Downloads/
cd ~/Downloads/
python -m SimpleHTTPServer 8000
export PYTHON_BUILD_MIRROR_URL="http://127.0.0.1:8000/"
pyenv install 2.7.5

有時候網速特別不給力,最好下載好python的包本地安裝哦。

相關文章
相關標籤/搜索