我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python版本管理(python环境隔

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python版本管理(python环境隔

这将是一篇比较短的文章。
我发文向来注重文章质量,营养不够的宁可不发,但是我相信很多人需要这篇文章。
之所以要去搞清楚这个问题,是我在把 vscode 的 inspector 设置为 pipenv 生成的虚拟环境是遇到了问题。2018-2月 vscode 添加了对 pipenv 的支持,检测到 Pipfile 以后,会将环境自动切换到当前项目的虚拟环境。但是我的咋就不行呢!我就开始折腾。这是一个比较漫长相信你们都不想经历的过程。希望你们搜到的第一篇文章就是这篇。相关关键字如下: vscode 对 pipenv 的支持, vscode 找不到 pipenv 创建的虚拟环境, vscode pipenv, pipenv vscode ...等等
希望能给你带来更多营养,我多说点
不知不觉,上面的内容可能要占本文一半以上了。。。
pyenv 和 pipenv 应该是目前主流的 python 版本控制和虚拟环境的工具了,下面内容都基于这两个。

  1. 从 PATH 开始。当你要执行终端命令的时候,这个命令是从哪来呢,有个环境变量 PATH 企图hold住这个问题,大部分人打印一下 PATH (echo $PATH) 应该都会发现这样一部分 /usr/local/bin:/usr/bin:/bin 。执行命令时查找循序由左到右,/usr/local/bin 里没找到去 /usr/bin 里找,还没有去 /bin 里看看。
  2. 基于此 pyenv 做了些什么呢?他加了个 (pyenv root)/shims 垫片到最左面(具体到 Mac 大多是 /Users/admin/.pyenv/shims 这么个东西)。这就很巧妙了,加了这个,python 啊 pip 啊这些命令都被这个垫片拦截住了,具体用那个版本那个环境全取决于 shims 里面 python 的心情,它指哪就打哪。这就说明了一个问题,只要你使用pyenv 运行 which python 的时候永远都打印 /Users/admin/.pyenv/shims/python 即使它指向的是各种各样的 python 版本!(which pip 同理)
  3. pyenv 通过环境变量 PYENV_VERSION 控制 python 指向的版本,也就是 pyenv shell 控制的内容,控制顺序依次是 pyenv shell, pyenv local, pyenv global。前面的覆盖后面的。比如 PYENV_VERSION = 2.5 使用的就是这个 python: $(pyenv root)/versions/2.5/bin/python2.5。
  4. 这就是为啥要在 ~/.zshrc (或者 bash 对应的配置文件)里面加上 eval "$(pyenv init -),因为要把垫片加到 PATH 的最前面。启用 pyenv 后再打印 PATH 那一大坨你都不想看。
  5. 说了这么多还没扯到问题关键呢,怎么搞。vscode 作者之一在git issues 回答了这个问题,用 pyenv 的时候,是无法自动找到 pipenv 创建的虚拟环境的。这就得绕道了,第一种,可以直接在 vscode 的配置里加上虚拟环境的路径。类似于 "python.pythonPath": "/Users/admin/.local/share/virtualenvs/......" 这种。该路径可以通过 pipenv --py 获取。推荐这种方式,虽然显得有点麻烦。第二种,屏蔽掉 pyenv 把 ~/.zshrc 里面的 eval "$(pyenv init -) 去掉,这样就会用系统的或者 brew 安装的 python, 在这个里面安装 pipenv 之后 vscode 检测到 Pipfile 就会自动找到虚拟环境并切换了。
    说了这么多,希望能给你带来多于答案本身的价值。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python版本管理(python环境隔

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python版本管理(python环境隔

这将是一篇比较短的文章。我发文向来注重文章质量,营养不够的宁可不发,但是我相信很多人需要这篇文章。之所以要去搞清楚这个问题,是我在把 vscode 的 inspector 设置为 pipenv 生成的虚拟环境是遇到了问题。2018-2月 v
2023-01-30

Python版本切换与虚拟环境管理

Python2和Python3之间存在较大的差异,并且由于各种原因导致Python2和Python3长期共存。我们在使用的时候,可能会遇到不同的Python版本问题或者是Python工作环境的切换问题。这里介绍pyenv、virtualen
2023-01-31

Python版本管理工具与虚拟环境是什么

这篇文章主要讲解了“Python版本管理工具与虚拟环境是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python版本管理工具与虚拟环境是什么”吧!版本管理工具--pyenv简单来看一下
2023-06-27

python解析器--版本--IDE环境

--**********************************************************************************************************************
2023-01-31

升级python版本和搭建环境

ModuleNotFoundError: No module named '_contextvars'由于上面这个错误我需要把我的Python版本从python3.7.2升级到3.7.3。官网下载最新的python安装文件之后,双击选择re
2023-01-31

linux下多版本python环境配置

1. 依赖pyenv安装使用git# yum install git -y# yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-deve
2023-01-31

Python环境版本中怎么安装3.X版本

本篇内容介绍了“Python环境版本中怎么安装3.X版本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python环境版本在与日俱增的发展进
2023-06-17

Linux环境下对不同版本python

目前的linux发行版上,有很多安装了两个版本的python。我的机器上默认的版本为python 2.x。且在使用easy_install安装三方库时,也默认安装到了2.x的版本上,在3.x版本下则无法import安装的库。环境:Kubun
2023-01-31

Python 多环境配置管理

实际工程开发中常常会对开发、测试和生产等不同环境配置不同的数据库环境,传统方式可以通过添加不同环境的配置文件达到部署时的动态切换的效果。这种方式还不错,不过不同环境间往往会共享相同的配置而造成一些重复工作。项目代码./├──conf.py└
2023-01-31

python多版本管理(pyenv)

安装python构建中的依赖库yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-develpyenv安装使用 git 把
2023-01-31

pyenv管理多版本python

安装不同的python版本并不是一件易事,更何况想在同一主机上来回切换不同版本的python是难上加难!大家都知道多版本会导致互相干扰,但是不是不不能解决呢??确切回答:不是,因为有一个学习python的好帮手pyenv来管理不同的pyth
2023-01-31

python虚拟环境管理之virtual

虚拟环境的作用使python环境拥有独立的包,避免污染原本的python环境。为不同的项目创建不同的环境可以避免安装的库过于庞大和相互干扰。例如你想在同一台机器上开发用python2和python3写的2个项目就可以用虚拟环境进行隔离,又网
2023-01-30

Python多环境扩展管理-Virtua

Python多环境管理工具,这两款可能都不错: Pyenv 和 Virtualenv 。Pyenv ,是对Python的版本进行管理,实现版本的切换。Virtualenv ,是通过创建虚拟环境,实现Python环境间的隔离,避免相互干扰。首
2023-01-31

python虚拟环境配置与管理

一、下载安装python1. 下载python进入网址下载:https://www.python.org/downloads/windows/2. python安装选择自定义安装勾选将python添加到系统环境变量中同时安装了pip和IDLE交互式工具 4.验证python和pip在cmd命令下输入python命令查看python版本C:\Users>pythonPython 3.9.0 (t
2022-07-15

python虚拟环境管理之以workon切换虚拟环境

Python虚拟环境管理:使用workon切换workon是一种命令行工具,用于管理Python虚拟环境,可轻松切换、创建和删除虚拟环境。通过隔离项目依赖项,虚拟环境避免了冲突和依赖项问题,提高了开发效率。workon的命令包括mkvirtualenv创建环境、workon切换环境和deactivate退出环境。它提供lsvirtualenv列出环境、rmvirtualenv删除环境等实用命令。优点包括轻松切换环境,避免冲突和提高生产力。需要注意的是,workon只能管理本地环境,并且需要shell配置才
python虚拟环境管理之以workon切换虚拟环境
2024-04-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录