pyenv和pyenv-virtualenv管理Python工作环境

    • @[TOC](pyenv和pyenv-virtualenv管理Python工作环境)
  • 使用pyenv管理不同的Python版本
    • 1.pyenv的安装
    • 2.pyenv的使用
    • 3.pyenv的帮助
  • 使用pyenv-virtualenv管理不同的项目
    • 1.pyenv-virtualenv的安装
    • 2.pyenv-virtualenv的使用
    • 3.pyenv-virtualenv的帮助

使用pyenv管理不同的Python版本

pyenv是一个Python版本管理工具,可以管理多个版本的Python环境,

pyenv可以用来管理和切换不同的python版本,相比用virtualenv和anacondo来创建虚拟python环境,pyenv的使用更简易轻便。

1.pyenv的安装

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

环境配置及初始化

# 在~/.bash_profile中添加下面
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"# 或通过echo命令追加到~/.bash_profile
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

生效配置

通常使用source命令重新载入配置文件

$ source ~/.bash_profile

验证pyenv是否正确安装

$ pyenv --help

2.pyenv的使用

使用pyenvpyenv --help获取pyenv的帮助信息

pyenv [-h | --help]

$ pyenv
pyenv 2.3.6-7-g19359de7
...
$ pyenv --help
Usage: pyenv <command> [<args>]
...

通过pyenv install --list查看pyenv当前支持哪些Python版本

$ pyenv install --list

通过pyenv install -v命令来安装不同的Python版本

pyenv install -v

$ pyenv install -v 3.11.0  # Python 3.11 (stable)
$ pyenv install -v 3.6.15  # Python 3.6 (EOL)
...
Installed Python-3.6.15 to /home/zhuoyi/.pyenv/versions/3.6.15
$ pyenv install -v 2.7.18  # Python 2.7 (EOL)
...
Installed Python-2.7.18 to /home/zhuoyi/.pyenv/versions/2.7.18

使用pyenv versions命令来查看当前系统中包含的Python版本

$ pyenv versions
* system (set by /home/zhuoyi/.pyenv/version)2.7.183.6.15

说明:其中system表示系统自身的Python, 其前面*号表示当前正在使用此版本

通过pyenv global命令来选择不同的Python版本

pyenv global

$ pyenv global 2.7.18
$ pyenv versionssystem
* 2.7.18 (set by /home/zhuoyi/.pyenv/version)3.6.15$ python
Python 2.7.18 (default, Nov 12 2022, 10:15:22)
[GCC 7.5.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
$ pip --version
pip 19.2.3 from /home/zhuoyi/.pyenv/versions/2.7.18/lib/python2.7/site-packages/pip (python 2.7)

注意:切换Python版本以后,相应的pip也会更着切换;

$ pyenv global 3.6.15
$ pyenv versionssystem2.7.18
* 3.6.15 (set by /home/zhuoyi/.pyenv/version)$ python
Python 3.6.15 (default, Nov 12 2022, 10:22:31)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
$ pip --version
pip 18.1 from /home/zhuoyi/.pyenv/versions/3.6.15/lib/python3.6/site-packages/pip (python 3.6)

通过pyenv uninstall命令来删除指定的Python版本

pyenv uninstall

$ pyenv install -v 3.10.8
$ pyenv uninstall 3.10.8

3.pyenv的帮助

$ pyenv --help
Usage: pyenv <command> [<args>]Some useful pyenv commands are:commands    List all available pyenv commandsexec        Run an executable with the selected Python versionglobal      Set or show the global Python version(s)help        Display help for a commandhooks       List hook scripts for a given pyenv commandinit        Configure the shell environment for pyenvinstall     Install a Python version using python-buildlatest      Print the latest installed or known version with the given prefixlocal       Set or show the local application-specific Python version(s)prefix      Display prefixes for Python versionsrehash      Rehash pyenv shims (run this after installing executables)root        Display the root directory where versions and shims are keptshell       Set or show the shell-specific Python versionshims       List existing pyenv shimsuninstall   Uninstall Python versionsversion     Show the current Python version(s) and its origin--version   Display the version of pyenvversion-file   Detect the file that sets the current pyenv versionversion-name   Show the current Python versionversion-origin   Explain how the current Python version is setversions    List all Python versions available to pyenvwhence      List all Python versions that contain the given executablewhich       Display the full path to an executableSee `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme

命令说明

commands    -------------列出所有可用的pyenv命令
duplicate    -------------创建一个重复的python环境
local    --------------设置或显示特定于本地应用程序的Python版本
global    --------------设置或显示全局Python版本
shell    --------------设置或显示特定于shell的Python版本
install      --------------Python构建安装Python版本
uninstall    -------------卸载特定的Python版本
update      -------------更新缓存的版本数据库
rehash      -------------重新安装pyenv垫片(安装可执行文件后运行此操作)
vname       -------------显示当前的Python版本
version      -------------显示当前Python版本及其来源
version-name ----------------显示当前的Python版本
versions    -----------------列出pyenv可用的所有Python版本
exec        -----------------通过首先准备路径来运行可执行文件,以便选定的Python
which       -------------- 显示可执行文件的完整路径
whence     ---------------------列出包含给定可执行文件的所有Python版本

常用命令

pyenv versions:列出当前系统中所有安装的python。
pyenv version:显示出当前使用的python。
pyenv global <python_version>:设置使用哪一个python。
pyenv install <python_version>:安装特定版本的python。
pyenv uninstall <python_version>:移除特定版本的python。
pyenv install -l:查看可安装的python。

使用pyenv-virtualenv管理不同的项目

pyenv-virtualenv是virtualenv项目用在pyenv中一个插件,用以隔离不同项目的工作环境,

1.pyenv-virtualenv的安装

$ git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

环境配置及初始化

# 基于pyenv的配置
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

生效配置文件

$ source ~/.bash_profile

验证pyenv-virtualenv是否正确安装

$ pyenv help virtualenv

2.pyenv-virtualenv的使用

为同一个Python解释器,创建多个不同的工作环境

pyenv virtualenv

$ pyenv virtualenv 2.7.18 first_project
$ pyenv virtualenv 2.7.18 second_project

使用pyenv virtualenvs命令查看工作环境

$ pyenv virtualenvs2.7.18/envs/first_project (created from /home/zhuoyi/.pyenv/versitongns/2.7.18)2.7.18/envs/second_project (created from /home/zhuoyi/.pyenv/versions/2.7.18)first_project (created from /home/zhuoyi/.pyenv/versions/2.7.18)second_project (created from /home/zhuoyi/.pyenv/versions/2.7.18)

通过 activate进入和deactivate退出 工作环境

pyenv activate

$ pyenv activate first_project
pyenv-virtualenv: prompt changing will be removed from future release.
configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.(first_project) zhuoyi@ubuntu:~$ pip install flask==1.0
(first_project) zhuoyi@ubuntu:~$ pyenv deactivate
zhuoyi@ubuntu:~$

pyenv deactivate

$ pyenv activate second_project
pyenv-virtualenv: prompt changing will be removed from future release.
configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.(second_project) zhuoyi@ubuntu:~$ pip install flask==1.1
(second_project) zhuoyi@ubuntu:~$ pyenv deactivate
zhuoyi@ubuntu:~$

3.pyenv-virtualenv的帮助

$ pyenv --help...  # 省略了原pyenv的activate    Activate virtual environmentdeactivate   Deactivate virtual environmentvirtualenv   Create a Python virtualenv using the pyenv-virtualenv pluginvirtualenv-delete   Uninstall a specific Python virtualenvvirtualenv-init   Configure the shell environment for pyenv-virtualenvvirtualenv-prefix   Display real_prefix for a Python virtualenv versionvirtualenvs   List all Python virtualenvs found in `$PYENV_ROOT/versions/*'.
$ pyenv help virtualenv
Usage: pyenv virtualenv [-f|--force] [VIRTUALENV_OPTIONS] [version] <virtualenv-name>pyenv virtualenv --versionpyenv virtualenv --help-f/--force       Install even if the version appears to be installed already. Skipprompting for confirmationNotable VIRTUALENV_OPTIONS passed to venv-creating executable, if applicable:-u/--upgrade     Imply --force

1.Python版本及其虚拟环境管理:pyenv和pyenv-virtualenv相关推荐

  1. python版本切换 for Windows(Anaconda) Linux(pyenv)

    文章目录 一.Windows 使用 Anaconda创建虚拟环境(其它操作系统也可以使用Anaconda完成相同的操作) (一)添加一个所需的python版本的环境(本文以python3.6为例) ( ...

  2. 安装的 Python 版本太多互相干扰?pyenv 建议了解一下。

    写在之前 我们都知道现在的 Python 有 Python2 和 Python3,但是由于各种乱七八糟的原因导致这俩哥们要长期共存,荣辱与共,尴尬的是这哥俩的差异还比较大,在很多时候我们可能要同时用到 ...

  3. python antlr4需要的python 版本_python多版本管理器pyenv

    查看Linux版本 1[root@web ~]# cat /etc/redhat-release 2CentOS Linux release 7.6.1810 (Core) 3[root@web ~] ...

  4. Pycharm选择pyenv安装的Python版本

    在macOS上使用pyenv实现Python多版本共存后,pyenv安装的Python版本存在于macOS下的 ~/.pyenv/versions/下. 在Pycharm时,选择此目录下对应的版本即可 ...

  5. 虚拟环境工具pyenv的安装,配置和使用,完美控制python版本

    文章目录 前言 背景 使用 第 1 章:使用环境 1.安装 git 2.开启终端 3.安装 pyenv 4.安装 pyenv-virtualenv 第 2 章:使用 pyenv 1. 创建虚拟环境 2 ...

  6. python虚拟环境管理app_pyenv虚拟环境管理python多版本和软件库

    可能大家在日常工作中会遇到这么个问题,现在基本的linux系统都是自带老版本的python2.7.x版本,我又不想用老版本,但直接升级可能会出问题,或是依赖老版本的程序就运行不了,有没办法能安装3.x ...

  7. 自带python库的环境软件_pyenv虚拟环境管理python多版本和软件库

    可能大家在日常工作中会遇到这么个问题,现在基本的linux系统都是自带老版本的python2.7.x版本,我又不想用老版本,但直接升级可能会出问题,或是依赖老版本的程序就运行不了,有没办法能安装3.x ...

  8. anaconda虚拟环境python升级_使用Anaconda虚拟环境管理Python版本

    1 引言 在前几篇博文中介绍过virtualenv.virtualenvwrapper等几个虚拟环境管理工具,本篇要介绍的anaconda也有很强大的虚拟环境管理功能,甚至相比virtualenv.v ...

  9. python虚拟环境中文件分部_Python之虚拟环境管理

    Python本身有很多个版本,第三方的Python包又有很多可用的版本,所以经常会遇到下面的问题: 运行不同的Python程序,需要使用不同版本的Python(2.x或3.x). 在同一中Python ...

最新文章

  1. webview Java与JS互调
  2. 深圳速度!这所筹建中的大学,迎来首任“掌门人”!
  3. 完美解决:python报错:‘utf-8‘ codec can‘t decode byte 0xa1 in position 56: invalid start byte
  4. 如果禁用了cookie 怎么传session
  5. OpenGL编程指南11:组合运动示例2—创建机器人手臂模型
  6. 使用海康威视设备在Web端显示实时视频
  7. 《Leetcode》目录
  8. [20180826]四校联考
  9. C语言序列是否有序、序列中删除指定数字、序列中整数去重、有序序列合并问题
  10. JVM原理及调优--网页链接收藏
  11. python绘制音频频谱_Python 读取wav画频谱
  12. Oracle J.D.Edwards技术与应用
  13. 怎样计算计算机的硬盘大小,硬盘容量大小计算的办法
  14. 放大电路分析方法、图解法分析放大电路、lceda仿真
  15. 应用程序错误电脑黑屏_werfault应用程序错误黑屏|Win7解决werfault.exe应用程序错误方法...
  16. 微信小程序生命周期和路由传参详解
  17. SliceM与SliceL
  18. python12306爬虫_爬虫12306返回数据怎么解析
  19. jdk1.8,64位linux版本下载路径.永久免费.这是一个爱分享的世界...
  20. 动手学习深度学习-深度学习基础

热门文章

  1. 鸡肉作为白肉,红肉与白肉
  2. 【Python自查手册】之带参数请求params的用法
  3. 《PCL点云库学习VS2010(X64)》Part 37 FLANN——快速最近邻搜索库
  4. 如何简单的创建一个多人在线聊天室
  5. 初级 Java 必须学会的 7 个知识点
  6. EN 14319-1 建筑设备与工业装置用隔热产品.原位形成分散硬质聚氨酯(PUR)和聚异氰脲酯(PIR)泡沫产品.第1部分:硬质泡沫塑料分散系统安装前规范--CE认证
  7. 案例:Java多态实现披萨制作2.0
  8. 回溯算法解决八皇后问题(JAVA实现)
  9. 漫画:小浩和画师小姐姐的一天
  10. 各类食物的合理烹饪方法