pyenv安装python虚拟环境

简介: pyenv安装python虚拟环境

pyenv介绍

pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源。

为什么我们需要pyenv

Python解释器版本混乱, 2和3差别巨大, 而且细分版本也不尽相同, 难以选择和管理.

不同Linux发行版自带Python不同, 如ubuntu16自带2.7和3.5版本, 其中系统许多组件依赖于自带解释器, 一旦删除或者更改都可能会造成系统出问题.

不同的Python解释器软件包管理也是问题, 如pip和ipython等必备包组件, 而且在项目开发中如何保证不同的包环境互不干扰也是一个问题.

准备工作

本次我在CentOS 7.9下安装pyenv,在安装之前需要先进行一些准备工作

yum -y install git curl wget 
yum -y install gcc make patch gdbm-devel openssl-devel      # Python编译需要的工具包
yum -y install sqlite-devel readline-devel zlib-devel bzip2-devel

pyenv是源代码编译安装Python解释器,所以一定要安装gcc等依赖

如果想更加安全的话可以新建一个普通用户并切换过去再进行后续操作

useradd -r python -m 
echo '1' |passwd --stdin python
su - python

安装pyenv

pyenv官网

在GitHub项目地址有多种操作系统安装方式(包括MacOS,Windows等),本次我使用的是CentOS来进行安装

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

脚本本质上是去github进行克隆,如果这一步都失败了,那么其实是安装不上的,因此可以将这个脚本github修改为gitee,当然如果你可以上GitHub那可以直接忽略这一步

当你无法访问GitHub的话:

#!/usr/bin/env bash
set -e
[ -n "$PYENV_DEBUG" ] && set -x
if [ -z "$PYENV_ROOT" ]; then
  export PYENV_ROOT="${HOME}/.pyenv"
fi
colorize() {
  if [ -t 1 ]; then printf "\e[%sm%s\e[m" "$1" "$2"
  else echo -n "$2"
  fi
}
# Checks for `.pyenv` file, and suggests to remove it for installing
if [ -d "${PYENV_ROOT}" ]; then
  { echo
    colorize 1 "WARNING"
    echo ": Can not proceed with installation. Kindly remove the '${PYENV_ROOT}' directory first."
    echo
  } >&2
    exit 1
fi
failed_checkout() {
  echo "Failed to git clone $1"
  exit -1
}
checkout() {
  [ -d "$2" ] || git clone --depth 1 "$1" "$2" || failed_checkout "$1"
}
if ! command -v git 1>/dev/null 2>&1; then
  echo "pyenv: Git is not installed, can't continue." >&2
  exit 1
fi
if [ -n "${USE_GIT_URI}" ]; then
  GITHUB="git://github.com"
else
  GITHUB="https://github.com"
fi
GITHUB="https://gitee.com"
checkout "${GITHUB}/ibuki_fuuko/pyenv.git"            "${PYENV_ROOT}"
checkout "${GITHUB}/codeseth/pyenv-doctor.git"     "${PYENV_ROOT}/plugins/pyenv-doctor"
checkout "${GITHUB}/yuebanlaosiji/pyenv-installer.git"  "${PYENV_ROOT}/plugins/pyenv-installer"
checkout "${GITHUB}/codeseth/pyenv-update.git"     "${PYENV_ROOT}/plugins/pyenv-update"
checkout "${GITHUB}/unicode233/pyenv-virtualenv.git" "${PYENV_ROOT}/plugins/pyenv-virtualenv"
checkout "${GITHUB}/mouday/pyenv-which-ext.git"  "${PYENV_ROOT}/plugins/pyenv-which-ext"
if ! command -v pyenv 1>/dev/null; then
  { echo
    colorize 1 "WARNING"
    echo ": seems you still have not added 'pyenv' to the load path."
    echo
  } >&2
  { # Without args, `init` commands print installation help
    "${PYENV_ROOT}/bin/pyenv" init || true
    "${PYENV_ROOT}/bin/pyenv" virtualenv-init || true
  } >&2
fi

拷贝代码至文件pyenv_install.sh

bash pyenv_install.sh

执行完成之后有如下输出

cc04411ea1d84bc6b335d75ff58621bd.png这里就提示我们设置环境变量了

cat >> ~/.bashrc <<EOF
export PYENV_ROOT="\$HOME/.pyenv"     
export PATH="/home/python/.pyenv/bin:\$PATH"
eval "\$(pyenv init --path)"
eval "\$(pyenv init -)"
eval "\$(pyenv virtualenv-init -)"
EOF
# \是用来转义$的,如果是直接打开.bashrc进行修改的话需要去掉\
source ~/.bashrc

安装python多版本

pyenv install -l  
# 列出可安装的版本,会输出很多
# 等价于 pyenv install --list
pyenv install 3.6.9 -vvv  
# -vvv是打印详细信息,也可不加
pyenv install 3.7.7

安装的版本会在~/.pyenv/versions目录下。

对于比较大的版本文件,例如anaconda,可以先到官网下载,然后将文件放在~/.pyenv/cache目录下,再执行安装命令时,pyenv不会重复下载。

$ ls .pyenv/versions/
3.6.9  3.7.7

如果要卸载的话就是将install修改为uninstall

也可以直接打印已安装的版本

$ pyenv version   # 打印当前使用版本
$ pyenv versions  # 打印所有已安装版本,*星号表示当前版本

设置虚拟环境

由于不同项目,或使用不同Python版本,或使用同版本Python但使用不同版本库,很难将它们部署在一

起,所以,应该使用不同的虚拟环境隔离部署。

使用pyenv local 命令建立一个目录和一个Python版本或虚拟版本之间的关系,该目录的子孙目录默认

也继承这个版本。

设置一个python3.6.9的虚拟环境

[python@k82 ~]$ mkdir -p projects/test369     # 新建一个目录,以后在这个目录下的python环境为3.6.9
[python@k82 ~]$ cd projects/test369/
[python@k82 test369]$ pyenv virtualenv 3.6.9 py369  # 设置py369的python版本为python3.6.9
[python@k82 test369]$ pyenv local py369       # 设置当前目录的python本地版本为py369
(py369) [python@k82 test369]$ python -V
Python 3.6.9
(py369) [python@k82 test369]$ pyenv version
py369 (set by /home/python/projects/test369/.python-version)

同理设置一个python3.7.7的虚拟环境

[python@k82 ~]$ mkdir -p projects/test377
[python@k82 ~]$ cd projects/test377/
[python@k82 test377]$ pyenv virtualenv 3.7.7 py377
[python@k82 test377]$ pyenv local py377 
(py377) [python@k82 test377]$ python -V
Python 3.7.7
(py377) [python@k82 test377]$ pyenv version
py377 (set by /home/python/projects/test377/.python-version)

但是此时全局的python版本并未发生改变

[python@k82 ~]$ pwd
/home/python
[python@k82 ~]$ python -V 
Python 2.7.5
[python@k82 ~]$ pyenv version
system (set by /home/python/.pyenv/version)
[python@k82 ~]$ pyenv versions
* system (set by /home/python/.pyenv/version)
  3.6.9
  3.6.9/envs/py369
  3.7.7
  3.7.7/envs/py377
  py369
  py377


目录
相关文章
|
3天前
|
JSON Shell 数据格式
使用 pipx 安装并执行 Python 应用程序 (1)
使用 pipx 安装并执行 Python 应用程序 (1)
41 17
|
22天前
|
IDE 测试技术 项目管理
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
PyCharm是由JetBrains开发的Python集成开发环境(IDE),专为Python开发者设计,支持Web开发、调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制等功能。它有专业版、教育版和社区版三个版本,其中社区版免费且适合个人和小型团队使用,包含基本的Python开发功能。安装PyCharm前需先安装Python解释器,并配置环境变量。通过简单的步骤即可在PyCharm中创建并运行Python项目,如输出“Hello World”。
197 13
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
|
29天前
|
人工智能 Java Python
python安装、vscode安装、conda安装:一文搞定Python的开发环境(史上最全)
尼恩架构团队推出了一系列《LLM大模型学习圣经》PDF,旨在帮助读者深入理解并掌握大型语言模型(LLM)及其相关技术。该系列包括Python基础、Transformer架构、LangChain框架、RAG架构及LLM智能体等内容,覆盖从理论到实践的各个方面。此外,尼恩还提供了配套视频教程,计划于2025年5月前发布,助力更多人成为大模型应用架构师,冲击年薪百万目标。
|
1月前
|
Shell Linux iOS开发
使用 pipx 安装并执行 Python 应用程序 (1)
使用 pipx 安装并执行 Python 应用程序 (1)
52 0
使用 pipx 安装并执行 Python 应用程序 (1)
|
1月前
|
Shell 程序员 开发者
轻松搞定在Python中构建虚拟环境
本教程教你如何使用业界公认的最佳实践,创建一个完全工作的Python开发环境。虚拟环境通过隔离依赖项,避免项目间的冲突,并允许你轻松管理包版本。我们将使用Python 3的内置`venv`模块来创建和激活虚拟环境,确保不同项目能独立运行,不会相互干扰。此外,还将介绍如何检查Python版本、激活和停用虚拟环境,以及使用`requirements.txt`文件共享依赖项。 通过本教程,你将学会: - 创建和管理虚拟环境 - 避免依赖性冲突 - 部署Python应用到服务器 适合新手和希望提升开发环境管理能力的开发者。
110 2
|
1月前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
41 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
|
6月前
|
Python Windows
Python安装第三方库太慢?配置好这个速度飞起
Python安装第三方库太慢?配置好这个速度飞起
131 1
|
6月前
|
Linux 测试技术 Python
Python笔记1 安装并配置Python
本文是作者关于Python复习笔记的系列文章第一篇,介绍了Python语言的特点、在不同操作系统上搭建Python环境的方法,包括下载编辑器和配置解释环境,并通过在编辑器中运行“Hello World!”程序来测试环境是否成功搭建。
52 0
|
9月前
|
IDE Linux 开发工具
Python安装与配置
Python安装与配置
145 0
|
IDE Ubuntu 开发工具
Python(五)IDE集成开发工具pycharm安装及配置
工欲善其事,必先利其器。好的开发工具能让我们的开发速度事半功倍。 Python比较好的集成开发工具IDE,大概就是pycharm,以及万物皆可的VScode VScode具体用什么插件比较好还在研究中,今天大概先看下pycharm的安装及配置。 这里分两个系统,ubuntu及windows 一:windows安装及汉化 1 :安装 首先,去官方网站下载安装包,专业版是要花钱购买的,我这里选择的是社区版,功能没有专业版那么强大,但是基本上够用。 网址:www.jetbrains.com/pycharm/dow… 下载完成之后,一路下一步安装即可。
159 1

热门文章

最新文章

推荐镜像

更多