python学习过程中,不可避免会遇到python2和python3版本管理的问题。后期项目开发中,也希望每个项目有独立的开发环境,避免各项目之间的干扰。因此,本编主要讲python的多版本管理。
pyenv
pyenv管理工具,它可以虚拟出一套完整的于系统环境隔离的python环境,然后在这个环境中安装你需要的python版本,便可以解决同时使用不同版本python环境的需求。
安装
## MAC 安装
brew install pyenv
非mac系统,推荐用一键安装脚本
## 确保已经安装好git,如果没有,请自行安装好git
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
配置环境变量
在 ~/.bash_profile里增加如下内容,注意:不同的系统环境配置文件不同。
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
然后,source一下。
source ~/.bash_profile
pyenv 命令
- local命令 local命令切换当前目录及其子目录的Python版本, 可以通过删除 .python-version恢复默认Python版本
- global命令 global名切换全局默认Python版本 永远不要使用global命令
- virtualenv命令
创建虚拟环境 pyenv virtualenv
$bash_version
$name
示例:
进入magedu目录,指定python的版本为3.5.2
[root@localhost magedu]# pyenv local 3.5.2
## 里面就是版本号 删除此文件可以恢复版本
[root@localhost magedu]# vim .python-version
## 查看当前python的版本
[root@localhost magedu]# python -V
Python 3.5.2
## 创建一个名为magedu的虚拟环境,相当于一个快捷方式
[root@localhost ~]# pyenv virtualenv 3.5.2 magedu
[root@localhost magedu]# pyenv version
system (set by /root/.pyenv/version)
[root@localhost magedu]# pyenv local magedu
(magedu) [root@localhost magedu]# pyenv version
magedu (set by /root/magedu/.python-version)
pipenv
pipenv是Python.org官网最新推荐的包管理工具,它能够帮助我们不必建立虚拟环境的情况下非常容易地安装和管理依赖。项目地址:https://github.com/pypa/pipenv
安装
## MAC 安装
brew install pipenv
## 非mac系统,可以直接用pip安装
pip install pipenv
## 配置环境变量,在.bashrc or .bash_profile文件中添加
eval "$(pipenv --completion)"
使用
进入项目目录,初始化环境pipenv install
,就会在项目目录下生成Pipfile
和Pipfile.lock
两个文件。其中pip源,安装的包,python版本等信息都记录在Pipfile文件中,所以如果修改pip源非常简单。
## pipenv 换源
sed -i s/pypi.python.org/pypi.doubanio.com/g Pipfile
install命令前面可以添加-–two
或-–three
,它分别使用Python 2或3来初始化你的项目。 否则将使用默认版本的Python。
其他命令:
check 检查安全漏洞
graph 显示当前依赖关系图信息
install 安装虚拟环境或者第三方库
lock 锁定并生成Pipfile.lock文件
open 在编辑器中查看一个库
run 在虚拟环境中运行命令
shell 进入虚拟环境
uninstall 卸载一个库
update 卸载当前所有的包,并安装它们的最新版本
安装python
-
安装编译工具
yum -y install gcc make patch
-
安装依赖
yum -y install gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
-
pyenv可安装指定版本的python,命令
pyenv install 3.5.2
。但由于默认从国外的源下载,所以很慢,可直接下载好指定python版本的包,然后放到特定目录下安装会快很多。 将安装包放到~/.pyenv/cache/目录mkdir -p ~/.pyenv/cache/ wget -c http://7d9qvq.com1.z0.glb.clouddn.com/Python-3.5.2.tgz -O ~/.pyenv/cache/Python-3.5.2.tar.gz pyenv install 3.5.2
编译安装
这里只给出命令
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz xz -d Python-3.6.4.tar.xz tar xf Python-3.6.4.tar cd Python-3.6.4 ./configure prefix=/opt/python3 make && make install ln -s /opt/python3/bin/python3.6 /usr/bin/python3
修改pip的源
pip的默认源很慢,这里将pip的源换成了阿里源
- 创建目录
mkdir ~/.pip
- 编辑
~/.pip/pip.conf
, 输入一下内容
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com
jupyter
Jupyter Notebook是一个交互式笔记本,用来做测试和学习非常方便。
-
安装
pip install jupyter
-
使用
jupyter notebook --ip=0.0.0.0 --no-browser ##启动一个不启用浏览器的jupyter服务,监听所有端口 用本机输入ip访问:192.168.10.105:8888 ##不能访问检查防火墙,本机直接关闭防火情 systemctl stop firewalld ##关闭防火墙 systemctl disable firewalld.service ##禁止firewall开机启动