python-包管理-pyenv
virtualenv
virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响:
- 在没有权限的情况下安装新套件
- 不同应用可以使用不同的套件版本
- 套件升级不影响其他应用
pyenv
切换python方式
- 设置PATH
- 脚本前写入#!/usr/bin/env python2.7
python可以一键(命令)切换全局、本地或当前 shell 使用的 Python 版本
在$PATH最前面添加了垫片路径(shims),比如
~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin
Python可执行文件,会在这里被截获
依赖
sudo apt-get update
sudo apt-get install make build-essential libssl-dev zlib1g-dev
sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl
sudo apt-get install llvm libncurses5-dev libncursesw5-dev
安装
自动安装
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
给pyenv添加环境变量~/.bashrc
export PATH="/home/sean/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
命令
$ pyenv versions  # 列出系统当前已安装的版本
$ pyenv install python_version   # 安装指定版本 python_version
$ pyenv global 3.4.0  # 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。
$ pyenv rehash  # 为所有已安装的可执行文件 (如:~/.pyenv/versions/*/bin/*) 创建 shims,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令
$ pyenv local  ## 设置面向程序的本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。pyenv 会从当前目录开始向上逐级查找 .python-version 文件,直到根目录为止。若找不到,就用 global 版本。
$ pyenv shell  # 设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。--unset 参数可以用于取消当前 shell 设定的版本。
$ pyenv shell pypy-2.2.1
$ pyenv shell --unset
使用python
- 输入 python 即可使用新版本的 python;
- 系统自带的脚本会以 /usr/bin/python 的方式直接调用老版本的 python, 因而不会对系统脚本产生影响;
- 使用 pip 安装第三方模块时会安装到 ~/.pyenv/versions/3.4.1 下, 不会和系统模块发生冲突。
- 使用 pip 安装模块后,可能需要执行 pyenv rehash 更新数据库;
centos
yum install -y gcc libzip-devel readline-devel zlib-devel bzip2-devel sqlite-devel openssl-devel python-pip python-setuptools patch
安装pip
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
python get-pip.py
豆瓣源~/.pip/pip.conf
[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host = pypi.douban.com
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号