Python多版本管理工具-pyenv相关总结

2023-11-15

由于需要进行MAC下多Python管理,看了很多相关文章,这是自己的理解的相关总结。包括最重要的pyenv 和 virtualenv,anaconda有什么区别

Python多版本管理工具 – pyenv

pyenv介绍

  • pyenv lets you easily switch between multiple versions of Python. It’s simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.

  • This project was forked from rbenv and ruby-build, and modified for Python.

pyenv安装

通过下面的命令进行安装:

# 1.Check out pyenv where you want it installed.
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

# 2.Define environment variable PYENV_ROOT
#如果使用的是zsh,则输出到~/.zshrc文件中
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile 
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile  

# 3.Add pyenv init to shell
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

# 4.Restart your shell so the path changes take effect. 
exec "$SHELL"

# 5.Install Python versions into $(pyenv root)/versions
pyenv install 3.6.8

可参见 官方安装说明,详细,信息量大,同时还有很多相关知识点说明,仔细读下来会有很大收获。

pyenv命令

安装完成后,在命令行中键入「pyenv」可查看该命令的使用帮助

local bin >pyenv
pyenv 1.2.9
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   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

pyenv常见命令

上面是所有的pyenv相关命令,经常使用的是如下几个命令:

#创建virtualenv环境
语法:pyenv virtualenv <python-version> <virtualenv-name>
举例:pyenv virtualenv 3.7.0 mypython3.7
注意:这里3.7.0是Python的某个版本号,而且前提是这个版本必须存在(已经通过install命令安装)

#查看已经安装的python版本(列出所有的版本)
pyenv versions 

#查看当前使用的python版本
pyenv versions

#安装一个python版本,如3.7.0
pyenv install 3.7.0

#显示 local/global Python版本
pyenv local/global 

#设置local/global Python版本,如将Python设置为2.7.15
pyenv local/global 2.7.15

#激活和关闭虚拟环境
pyenv activate virtualenv-name
pyenv deactivate

相关问题

0. pyenv 和 virtualenv,anaconda有什么区别

这几者的区别:

pyenv: Python Version Manager
virtualenv: Python Environment Manager.
Anaconda: Package Manager + Environment Manager + Additional Scientific Libraries.

Anaconda包含了众多库的,可以直接使用,比较方便,同时也具备创建虚拟环境的conda命令。

题主也尝试使用Anaconda下的conda命令新建环境,但是发现Anaconda的base环境(Anaconda众多库的默认存放环境)下的python常见库不能共享给其他环境使用,从这一点上来说这一点上来说,conda和pyenv是一样的效果。

1. mac下的一个问题:Failed to activate virtualenv with pyenv:(https://goo.gl/zs7433)

需要注意的是,由于我们使用 pyenv 来管理 python 版本,每次使用 pip 都是把相应的包安装到当前系统使用的 python 版本中。如果我们在虚拟环境中,那么相应的包便安装到相应的虚拟环境中了,如果虚拟环境被删除,所有的软件包都删除了。

2. 安装中提示"ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib"错误

在这里插入图片描述
参考:pyenv-issue 950
stackoverflow

3. pyenv安装python很慢的解决方法

下载python版本包,修改配置文件,使用命令进行安装。

参考【Python开发环境之pyenv环境搭建】

4. 因为不能创建/usr/local/opt/文件夹,而安装失败

pyenv安装中需要创建/usr/local/opt/文件夹,如果当前是普通用户,因为权限问题,不能创建/usr/local/opt/文件夹,所以需要使用sudo进行创建。创建后还是存在权限问题,故需要修改/usr/local/opt/文件夹属主。具体操作如下:
>sudo mkdir /usr/local/opt
chown 用户名 /usr/local/opt

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python多版本管理工具-pyenv相关总结 的相关文章

随机推荐

  • 以太坊如何通过构建智能合约来销售商品?

    如何通过构建以太坊智能合约来销售商品 这是个问题 毫无疑问 比特币已经改变了我们看待和理解什么是金钱 价值以及最近由智能合约产生的所有权的方式 这很有趣 因为几乎每个人都听说过它或加密货币 来自许多业务领域的人 不仅仅是我们 IT工作者 在
  • %f %.2f %lf %.2lf的含义

    f表示单精度浮点型 float 默认保留 lf表示双精度浮点型 double 默认保留6位 2表示只保留小数点后两位数 下面举例 include
  • Attention机制的解释

    The Illustrated Attention Attention Seq2Seq 是一种由Encoder和Decoder组成的结构 可以将输入转化成一种中间形态并在Decoder输出 而Attention则是解决方案 经典的是Bahd
  • 设计模式:简单工厂、工厂方法、抽象工厂

    参考 Java设计模式之创建型 工厂模式详解 简单工厂 工厂方法 抽象工厂 知乎 工厂方法 以生产手机为例 具体的UML图如下 这种方法的优点是对于用户来说 不再需要面对具体的生产逻辑 只需要将生产的安排工作和细节都交给工厂类去做 缺点是在
  • MATLAB算法实战应用案例精讲-【深度学习】ECANet注意力机制(附Python实现代码)

    目录 前言 算法原理 算法思想 局部跨通道交互 Local Cross Channel Interaction
  • python批量复制文件问题,Python—批量复制文件

    批量复制文件 并修改后缀名 import os shutil yml文件根路径 ymlroot E GTEA gaze 原始图片根路径 srcroot E GTEA Gaze Dataset png 目标图片根路径 dstroot E Ga
  • Hadoop命令大全

    Hadoop命令大全 1 列出所有Hadoop Shell支持的命令 bin hadoop fs help 2 显示关于某个命令的详细信息 bin hadoop fs help command name 3 用户可使用以下命令在指定路径下查
  • C++入门编程之成语接龙

    成语接龙问题 问题描述 题目描述 成语接龙是中华民族传统的文字游戏 它有着悠久的历史 也有广泛的社会基础 是老少皆宜的民间文化娱乐活动 请设计四字成语接龙游戏 功能需求 1 计一个四字成语类Idiom 包含成语内容 首字母的拼音 末尾字母
  • validation校验包常用校验注解@NotEmpty,@NotBlank,@NotNull等注解

    一 常用注解 NotEmpty NotBlank NotNull介绍 包位置 javax validation constraints xxx NotEmpty 用在集合上面 一般用来校验List类型 不能注释枚举 而且长度必须大于0 No
  • 用socket实现简单的http服务器功能

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 用最基本的socket实现http服务器的功能 上代码 import java io import java util import java net public cla
  • thymeleaf中常用的金额、数字、百分比、手机号校验及对应java中的格式化

    thy中常用的金额 数字 百分比 金额格式化 格式化为1000 000 000 23元的样式 field amount title 金额 元 align right formatter function value row index re
  • 'react-scripts' 不是内部或外部命令,也不是可运行的程序 或批处理文件--解决方案

    create react app创建的React项目时 有时在安装完其他组件后 再次运行 npm start 命令时会报以上错误 让我很郁闷 不过在上网搜了这个错后原来 是create react app有丢包的缺陷 手动安装包后 需要重新
  • 【Java】JVM内存回收

    SafePoint检查 Safepoint 可以理解成是在代码执行过程中的一些特殊位置 当线程执行到这些位置的时候 线程可以暂停 在 SafePoint 保存了其他位置没有的一些当前线程的运行信息 供其他线程读取 这些信息主要为线程上下文的
  • vite 插件

    vite plugin常用的插件 掘金最近在用vite开发 整合了一下常用的插件 按需导入样式vite plugin style importhttps juejin cn post 6993740289605124126 Vite依赖预优
  • Vue-局部组件

    局部组件 通过Vue实例创建的组件 只能在此Vue实例的作用范围内起作用 div div
  • 【软件测试的重要性】

    软件测试是软件质量保证的关键步骤 目的是发现错误以及避免这些错误的发生 验证软件是否满足用户的需求以及避免这些错误的发生 验证软件是否满足用户的需求并保证软件的质量 因此 我们必须知道什么是软件测试 软件测试的对象是什么 以及用什么方法测试
  • 百人对谈

    他从事 NET技术开发二十余年 连续18年荣获微软最有价值专家 MVP 他积极参与运营 NET技术社区 Dapr中文社区及开源项目 在社区被广大开发者们称为 张队 他不断刷新自我 技术领域拓展至云计算和人工智能 荣获5届华为云开发者专家 H
  • 用Tensorflow重现YOLO V4

    如果对Tensorflow实现最新的Yolo v7算法有兴趣的朋友 可以参见我最新发布的文章 Yolo v7的最简TensorFlow实现 gzroy的博客 CSDN博客 YOLO是一个非常出名的目标检测的模型 兼具精度和性能 在工业界的应
  • Virtual-Box Ubuntu 16.04 你应该这样来安装Chrome google 浏览器

    最近写一个项目需要用到ruby来进行开发 但是作为一个只能在windows pc 上来开发的程序员来说 固然需要在windows上做一堆的配置 已经把我搞的疯掉了 没钱买mac就只能VirtualBox上搭一个ubuntu来进行开发了 这里
  • Python多版本管理工具-pyenv相关总结

    由于需要进行MAC下多Python管理 看了很多相关文章 这是自己的理解的相关总结 包括最重要的pyenv 和 virtualenv anaconda有什么区别 文章目录 Python多版本管理工具 pyenv pyenv介绍 pyenv安