码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Mac管理多版本Python(pyenv, virtualenv,anaconda)


    python开发的时候,尤其是多个项目开发的时候,经常会遇到以下两个问题:

    1. 不同项目使用了不同版本的python
    2. 不同项目的第三方依赖不一样,例如一个依赖于 xxx-1.0.0,另一个依赖于xxx-1.2.0

    为了解决以上问题,需要引入

    Python版本管理:在一台机器上实现安装多个版本的python,

    Python环境管理:实现对每个项目工程创建虚拟环境实现每个项目不同依赖。

    python有众多的版本,不同版本之间支持的特性有差异,而且python2和python3是不向下兼容的,如果做机器学习方面工作又经常会使用anaconda,而anaconda则完全实现了自己的包管理。

    为了应对这种局面,python出现了很多管理工具,例如:virtualenv、pipenv、pyenv等

    pyenv

    pyenv用于管理python多版本,例如安装多个版本python,如果使用windows系统则需要使用pyenv-win,pyenv可集成virtual-env插件

    Mac上pyenv的安装与使用 - 掘金

    基本使用

    命令描述
    pyenv --version查看 pyenv 的版本
    pyenv versions罗列当前已安装的所有 python 环境,如果是当前正在使用的环境,则前面会有个 *
    pyenv help查看帮助
    pyenv init如果输入 pyenv 之后使用 tab 不补全,可以使用该命令进行初始即可使用补全命令

    安装环境

    命令描述
    pyenv install -l显示可以安装的版本列表
    pyenv install 版本号安装指定版本的 python
    pyenv rehash更新本地数据库,安装指定版本的 python 后使用

    环境应用

    命令描述
    pyenv global 版本号更改本机版本,重启不会造成再次更改
    pyenv local 版本号会在当前目录创建 .python-version 文件,并记录设置的 python 环境,每次进入该目录会自动设置成该 python 环境
    pyenv shell 版本号更改当前 shell 下使用的 python 版本,临时生效,优先级高于 global

    virtualenv

    virtualenv是python虚拟环境管理工具,可以为每个项目(对应一个目录)创建独立虚拟环境,不同的虚拟环境可以有不同的依赖库

    1. #创建虚拟环境:
    2. pyenv virtualenv 3.7.0 test # 使用python 3.7.0 版本创建名字为test的虚拟环境
    3. #查看所有虚拟环境
    4. pyenv virtualenvs
    5. #激活虚拟环境
    6. pyenv activate test
    7. #去掉当前环境
    8. pyenv deactivate

    pipenv

    可以看做是virtualenv的升级

    本文主要介绍使用pyenv、virtualenv、anaconda搭建python环境,基本可覆盖绝大多数python开发场景。

    参考:

    Python多版本切换工具-Pyenv\virtualenv及Anaconda科学计算环境的配置_rolin-刘瑞的博客-CSDN博客

    使用pyenv/virtualenv/anaconda构建python开发环境 

    Mac管理多版本Python

    mac下Python关于venv 的使用


     

  • 相关阅读:
    Vue3的watch使用介绍及场景
    java-php-python-ssm校园社团管理平台计算机毕业设计
    如何创建Vue项目并与后端django联调
    PCG——程序化地形生成(1)
    C++解析XML文件(TinyXML)
    2020-2023中国高等级自动驾驶产业发展趋势研究-中国高等级自动驾驶发展近况
    熬夜做了几晚动画解说重构:提炼函数
    Gin学习记录4——Controller和中间件
    Lua 支持虚函数的解决方案
    flink job同时使用BroadcastProcessFunction和KeyedBroadcastProcessFunction例子
  • 原文地址:https://blog.csdn.net/linzhiji/article/details/126530244
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号