Python工作环境治理
Python2和Python3之间存在较大的差别,且因为各种起因导致Python2和Python3的长期共存(尽管2020年1月1日Python2曾经不再保护,然而网络上的代码和书????上仍然有局部采纳Python2)
理论工作中,可能同时须要用到Python2和Python3,常常须要在Python2和Python3之间切换
- 比方: Centos默认装置的是Python2版本,而且yum工具中也在应用python2,然而日常学习中应用python3作为开发环境
Pyenv – 治理不同的Python版本
Pyenv: Python版本管理工具,能够装置多个不同的Python版本,不同的Python版本之间切换也比较简单
- 装置多个不同的Python版本
- 实现不同Python版本的切换(蕴含pip)
切换Python的版本之后,与版本相干的依赖(pip)也会一起切换,不必放心不同版本在零碎中是否互相烦扰
Pyenv的网址
- Pyenv 不能装置在Windows零碎上
- 在Windows零碎上装置pyenv-win工具,是Pyenv的适应版本,操作统一
Pyenv的装置
- Pyenv提供了装置的办法
间接从GitHub下载我的项目到本地,设置环境变量和启动主动补全的性能
<code class="shell">$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv 正克隆到 '/home/test/.pyenv'... remote: Enumerating objects: 39, done. remote: Counting objects: 100% (39/39), done. remote: Compressing objects: 100% (24/24), done. remote: Total 18096 (delta 17), reused 24 (delta 10), pack-reused 18057 接管对象中: 100% (18096/18096), 3.61 MiB | 4.00 KiB/s, done. 解决 delta 中: 100% (12306/12306), done. $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
装置实现之后须要从新载入配置文件 source .bash_profile
Pyenv的应用
- 查看pyenv以后反对的版本,通过install命令
pyenv能够装置不同的Python版本,也能够装置不同的Python实现
pyenv install --list
-
装置Python
pyenv install -v 3.8.0
- Pyenv是下载源码包编译装置的,须要提前装置依赖
-
pyenv会从官网地址下载相应的版本,比较慢,而且常常失败
- 能够从其余中央下载到源码包,放到
~/.pyenv/cache
目录下,再执行装置,会应用曾经存在的源码包
<code class="shell"># 提前装置依赖 $ yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel git # 从其余的源装置 $ v=3.8.0; wget https://npm.taobao.org/mirrors/python//$v/Python-$v.tar.xz -P ~/.pyenv/cache/; pyenv install $v
- 能够从其余中央下载到源码包,放到
-
查看以后存在的版本
pyenv versions
- 输入后果后面带
*
示意以后应用的版本
- 输入后果后面带
- 抉择不同的Python版本
pyenv global 3.8.0
- 删除Python版本
pyenv unistall 3.8.0
virtualenv – 治理不同的我的项目
virtualenv 自身是一个独立的我的项目,用以隔离不同我的项目的工作环境
- 须要应用不同的NumPy的版本,显著不能应用惯例的办法在一台服务器上实现
- virtualenv 将不同的numpy装置到不同的工作环境中,须要那个,进入那个工作环境
组合Pyenv和virtualenv就能够实现Python和第三方库任意版本的组合, 领有弱小的灵活性,防止我的项目之间的烦扰
virtualenv是一个独立的工具,能够独自应用,然而如果应用了Pyenv,就须要装置pyenv-virtualenv插件,而不是通过virtualenv软件应用virtualenv性能
pyenv-virtualenv网址
pyenv-virtualenv的装置
pyenv-virtualenv的装置
<code class="shell">$ git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv $ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
与pyenv装置相似,实现之后须要从新载入配置文件 source .bash_profile
装置实现之后,能够为同一个Python解释器装置多个不同的工作环境
- 查看工作环境
pyenv virtualenvs
- 通过
activate
和deactiveta
进入和退出一个工作环境