pyenv安装与使用

安装pyenv

安装git 和 curl

因为我们要用它从 github 上下载pyenv软件,首先确保我们已经安装了 git 和 curl 工具

yum install -y git

yum install -y curl

下载pyenv软件

 pyenv 提供了 一个 下载器,直接在当前用户目录下执行以下git命令下载

curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

这是一个执行脚本文件,如果直接执行错误,可以使用浏览器访问这个地址,拷贝文件内容到服务器中的一个新建文件中,然后使用bash执行这个文件即可。

配置环境变量

 安装pyenv 后,为直接使用 pyenv 命令执行pyenv 工具,需要添加 环境变量。为优先匹配用户目录下的工具,将环境变量配置在系统环境之前。下载完成后会提示配置环境变量,在 ~ /.bashrc 或者 .bash_profile 下写入以下信息,添加环境变量(若无该文件创建)

export PATH="$HOME/.pyenv/bin:$PATH"  // 拼接 PATH = 目录 + :$PATH
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

执行 source .bashrc 或 .bash_profile 重载配置

 pyenv 的使用

执行pyenv,或 pyenv -- help 显示以下信息

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

安装python

安装python 编译依赖

pyenv 安装python 需要下载原文件编译安装,所以需要确保系统安装编译时相关的依赖包,使用root 用户安装以下包

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

网络安装python

使用pyenv 将会从Python 官网下载 对应版本的安装包,速度较慢

pyenv install --list         查看可下载的包
pyenv install 3.6.9 -v        下载 3.6.9 版本

该命令会从github上下载python的源代码,并解压到/tmp目录下,然后在/tmp中执行编译工作。若依赖包没有安装,则会出现编译错误,需要在安装依赖包后重新执行该命令。

本地安装

执行这一步时会在.pyenv/cache中查看是否有该压缩包,没有则去下载并上传至该文件夹下,否则直接用该包直接安装。可以提前下载 python 源码压缩包,放置于 ~/ .pyenv/cache 文件夹下, 再执行

pyenv install 3.6.9 -v    #必须与cache中python包版本号相同, 否则未找到将网络下载

python版本控制及虚拟环境

可以使用pyenv 直接安装多个版本的python,安装成功后查看当前用户可使用的python 版本

pyenv versions           将显示已安装的独立的版本(包括创建的虚拟环境)

几种布置形式:

  • global

当前用户的全局环境, 该用户所有文件目录(除虚拟环境),已开启的shell中 的python 版本都将立刻切换

pyenv global 3.6.9
  • shell

当前shell 中的python环境, 其余下 shell 不受影响,关闭该shell 将失效。

  • local

当前环境 shell 环境生效,已开启的 shell不受影响,关闭后重启 shell 不会失效,将一直为此版本python。

 

多版本控制虚拟环境

1. 创建一个虚拟环境,指定python版本和名称

pyenv  virtaulenv 3.6.9 env1           3.6.9版本的 env1 环境
pyenv  virtualenv 3.6.9 env2          3.6.9版本的 env2 环境

2. 布置该虚拟环境

创建项目文件夹,在该项目文件夹下配置python虚拟环境:

pyenv local myproject1 env1      // 在 myproject下部署虚拟环境  env1

一个虚拟环境布置到一个项目文件夹下即可,该文件夹下所有目录将使用该环境。同时执行多个项目时候,各个项目使用不同虚拟环境,虚拟环境之间互不影响,杜绝了多个项目之间第三方模块冲突 ,部署项目时,只需要服务器端部署相同的python环境,根据打包的 requierments 包版本文件安装第三方模块, 就能创建出运行环境。

pip 源配置

  • 配置文件

新建文件 ~/ pip / pip.conf 写入,配置阿里云安装路径

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.co
  • 打包python库
pip freeze > pip-package 导出一个需求包文件

pip install -r pip-package 根据文件中的包名信息安装
原文地址:https://www.cnblogs.com/k5210202/p/13068951.html