因为python虚拟环境遇到的坑

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

问题引起描述

  • 以前建立虚拟环境都是用pycharm建立的,在虚拟环境中安装第三方模块也是通过pycharm安装的。
  • 有时我也在pycharm建立的venv文件夹下,启动cmd,用pip install **来安装第三方包,以为也是安装在虚拟环境中了(这就是我遇到的坑,其实是安装在全局环境中了,因为没有激活虚拟环境)。
  • 最近我又通过pycharm在虚拟环境中安装了xlwings。然后在虚拟环境中启动cmd,启动jupyter(注意我的jupyter 是安装在全局环境中)。然后我以为这就是在虚拟环境中用jupyter 了,当我用xlwings模块时,提醒我没有此模块。

原因:

  1. 我的jupyter安装在全局环境中,我在虚拟环境中(不管激活与否)启动jupyter,都会在全局环境中启动jupyter,对应的安装包也是全局环境的。
  2. 之前由于我通过cmd在虚拟环境中安装第三方包时,都没有激活虚拟环境,所以尽管是在虚拟环境文件夹中启动的cmd,安装的第三方包还是安装在了全局环境中。

通过cmd构建虚拟环境

必要性

  1. 在做不同项目时,所需的包也不一样,有时还有版本限制。所以为了使不同项目有各自的python版本解释器、各自的包,与其他项目的包隔绝起来,虚拟环境就显得尤为重要了。
  2. 项目完成时,建立的虚拟环境文件夹可以删除,而不会影响其他项目的环境。

建立虚拟环境的方法

可以通过pycharm等软件建立,也可以通过命令行窗口建立。后者更具有灵活性,下面介绍后者。

  1. 在需要建立虚拟环境的磁盘中建立对应的文件夹。
    新建虚拟环境所在的文件夹
  2. 从cmd中cd到这个文件夹中。默认cmd是在c盘用户名中启动。
    启动cmd
  3. cd到我新建的文件夹。运行virtualvenv myvenv。注意要安装virtualvenv模块才行,否则报错。用pip list查看已安装模块,确实没有virtualvenv。
    运行virtualvenv命令报错
  4. 如果没有安装virtualvenv,需要pip install virtualvenv -i https://douban.pypi.com/simple 安装

pip安装virtualvenv
5. cd到我新建的文件夹中,执行 virtual myvenv,myvenv的虚拟环境就建好了。
6. cd到myvenv文件夹中的Scripts,并执行activate,就可以激活虚拟环境。激活后,虚拟环境前会有括号。如果要退出虚拟环境,执行deactivate。
7. 虚拟环境激活后,在用pip 安装或者卸载包,都是在虚拟环境中操作。
在虚拟环境中安装包

在虚拟环境中启动python的本质

虚拟环境激活后,在虚拟环境中执行python程序,使用的是虚拟环境的解释器。其实是把虚拟环境的变量放在了前面,会优先在虚拟环境中搜素。
激活虚拟环境的本质

VSCode里Python开发环境配置:从pip换源到venv虚拟环境,新手避全记录 本文详细介绍了在VSCode中配置Python开发环境的完整流程,包括pip换源、venv虚拟环境创建与激活等关键步骤,特别针对新手常见问题提供了解决方案。通过清华大学等国内镜像源加速pip安装,使用.venv实现项目隔离,并解决PowerShell脚本执行策略等典型障碍,帮助开发者快速搭建高效的Python开发环境。 阅读详情

相关推荐

win下激活python虚拟环境及激活失败解决方案

win下激活python虚拟环境及激活失败解决方案

不会写代码 1万+

Python虚拟环境——安装、创建、激活、删除

Python虚拟环境——安装、创建、激活、删除

weixin_45075031的博客 2万+

52.python之创建虚拟环境

Python中的虚拟环境 Python 应用经常需要使用一些包,第三方包或者模块,有时需要依赖特定的包或者库的版本,所以不能有一个能适应所有 Python 应用的软件环境,很多时候不同的 Python 应用所依赖的版本是冲突的,满足了其中一个,另一个则无法运行,解决这一问题的方法是 虚拟环境虚拟环境是一个包含了特定 Python 解析器以及一些软件包的自包含目录,不同的应用程序可以使用不同的虚拟环境,从而解决了依赖冲突问题,而且虚拟环境中只需要安装应用相关的包或者模块,可以给部署提供便利 虚拟环境

qq_41917061的博客 484

python--pipenv--虚拟环境的一些缺陷

目标:使用虚拟环境时,调好之后,让项目作为包,在其它项目中使用 发现问题: 迁移时,无法在其他项目中直接使用,pipenv install也没用 只能在调用它的上层项目里,把包逐一加全了 如果有通过pipenv生成requests文件的办法就好了,我不知道,有知道的请指点一下,谢谢 ...

我不是庸医 506

python venv虚拟环境activate命令解析(激活虚拟环境原理)(PATH、VIRTUAL_ENV、Shell提示符PS1、sys.prefix和sys.base_prefix变量)

当使用venv创建虚拟环境时,会在虚拟环境目录下生成一个名为activate的脚本。这个脚本的主要功能是将当前的Shell环境切换到虚拟环境中,以便在其中运行Python代码和管理依赖库。activate并不会创建新的Python解释器,而是修改了当前Shell环境中的环境变量,使得命令行终端中的python和pip指向虚拟环境中的版本,从而实现对虚拟环境的“激活”。activateactivate脚本的核心作用是通过修改一系列环境变量,使得用户可以在虚拟环境中工作而不会影响全局环境。通过修改PATH。

Dontla的博客 5448

指南:从0开始学习git,将python代码通过git部署到服务器,创建python3虚拟环境

写在前面 作为一个git小白,这几天学git,踩了不计其数的,现在就如何快速避,快速上手git,将代码部署到服务器,做个总结。这里,特别感谢我的郑学长,不厌其烦的为我解决各种大大小小的问题,太感动了! 1.学习git 我是在廖雪峰老师这里学习git知识,讲的通俗易懂。 1:Windows系统下,创建了文件,通过git commit -m上传时,报错。报错的原因是:unable to auto...

shuaishuaihyh的博客 1112

Python虚拟环境,nohup命令结合的时候遇到的

Python虚拟环境

cjl30804的博客 232

Mac M1芯片下Python 3.12虚拟环境搭建避指南

优先用ARM64原生工具:Homebrew、Python 3.12、pip都选择明确支持ARM64的版本。隔离环境是王道:永远在虚拟环境中开发,避免污染系统Python。依赖安装先试wheel:优先使用或conda-forge源,减少源码编译失败概率。多版本管理用pyenv:如果需要切换Python 3.8/3.10/3.12,pyenv是最稳的选择。遇到问题先查架构:报错中出现“x86_64”“arm64”等关键词时,检查工具链是否匹配芯片架构。最后福利。

2502_92884473的博客 1543

手把手教你玩转 Python 虚拟环境:从入门到实战避指南

通过本文的学习,我们深入理解了 Python 虚拟环境的核心概念和实践方法。从避免版本冲突到实现环境隔离,虚拟环境是每个 Python 开发者必须掌握的重要技能。虚拟环境是包含独立 Python 解释器的目录,与环境变量完全不同每个项目创建专属虚拟环境,通过激活 / 停用控制环境切换使用 requirements.txt 管理依赖,实现项目的可复现性理解 PATH 变量的修改机制,掌握问题排查方法。

佑瞻的博客 808

关于virtualenv虚拟环境python版本的

通过virtualenv创建了基于python3的虚拟环境,激活虚拟环境后发现执行程序时依然在用python2在解析,后折腾一番后发现原因是,虚拟环境中未pip install flask,导致执行程序时系统自动去加载系统默认的python2。折腾的经过如下: 通过如下两行命令分别创建基于python2和python3版本的两个虚拟环境: virtualenv -p /usr/bin/pyt...

o_8_o的博客 1万+

5分钟搞定Python虚拟环境配置(含避指南)

本文为Python开发者提供了一份快速配置虚拟环境的实用指南。通过对比venv、virtualenv和Conda等主流工具,详细讲解了使用内置venv模块创建、激活和管理虚拟环境的完整步骤,并针对常见问题如命令未找到、安装速度慢、IDE集成等提供了具体的避解决方案,帮助开发者高效隔离项目依赖,提升开发效率。

weixin_29294395的博客 670

VScode配置Python虚拟环境:Win11下venv实战与避指南

Python虚拟环境是解决项目依赖冲突、实现环境隔离的核心技术,其原理是通过创建独立的目录,包含专属的Python解释器和pip工具,实现包管理的完全隔离。这项技术的价值在于保障了开发环境的一致性,提升了项目的可维护性和团队协作效率,广泛应用于Web开发、数据科学和自动化脚本等场景。在Windows 11系统中,结合VScode这一主流编辑器进行配置,能显著优化开发工作流。本文聚焦于venv这一轻量级工具,详细解析了从环境创建、激活到VScode集成的完整流程,并针对PowerShell权限、依赖迁移等常见

weixin_33911824的博客 381

安装python虚拟环境踩过的

最近需要用到python虚拟环境,先后尝试了pycharm和conda的虚拟环境,踩过一些些,整理成博客以备忘。 pycharm 我最先尝试直接用pycharm新建虚拟环境,建好了以后发现project和console都用了新环境的python,但是terminal还是旧环境的python。我一度以为是pycharm的小bug或者是还没apple成功。后来才发现pycharm里ter...

weixin_30845171的博客 310

python 虚拟环境打包exe方法及路过的

目录1、虚拟环境打包1.1打包流程1.2参考资料2、打成功但是运行出错2.1问题分析:2.2、修改spec文件后重新打包2.3、设置虚拟环境的环境变量后重新打包2.4、降低问题包的版本后重新打包 这是个python 打包的问题,关于python打包心得更多了,小白打包往往把一个很简单的程序打包成几百兆,但是现在我觉得完全没用必要。打包也可以很简单,方法如下: 1、虚拟环境打包 1.1打包流程 1、分析代码,用到了哪些依赖包; 2、新建一个虚拟环境,然后把需要的包安装上; 3、激活虚拟环境,在虚拟环境上测试,

静以修身,简以养德 3414

python编程实践:conda(mamba)虚拟环境的建立及踩

conda的虚拟环境真的非常实用,尤其是对于大的深度学习项目或者有许多不同功能的开发项目,给每个项目单独配一个环境,轻巧又容易管理,还能直接用别人配好的虚拟环境,非常方便。但是conda每次操作慢得要死,我写的体会文章,,已经阐述了用mamba完全替换conda,既解决了安装速度的问题,又解决了虚拟环境管理的问题,

lu_jianjun的专栏 1万+

使用python虚拟环境踩过的

安装python虚拟环境踩过的 最近使用python虚拟环境,发现pycharm的terminal中无法安装包进入虚拟环境的包中,使用的是python3.5(我也不清楚是不是python的问题,原来可以虚拟环境也是可以安的)。 现在是解决方法: pychram解决方式 我最先尝试直接用pycharm新建虚拟环境,建好了以后setting中发现project用了新环境的python,但是terminal还是旧环境的python。我一度以为是pycharm的小bug或者是还没apple成功。后来才发现pyc

qq_42055399的博客 749

!!!Python虚拟环境改名后的!!!!

本来用的纯python环境下的虚拟环境,一时心血来潮,把电脑重新装了一遍,虚拟环境的目录也改了一下,结果虚拟环境再vscode中是可以使用,虚拟环境python也正常,但使用pip安装包时一直提示错误,更奇怪的是,提示的错误显示的python是旧路径而pip是正确路径?否则直接使用pip的话,用的是全局变量anaconda的pip,但系统不会给提示!真的挺郁闷的,所以修改了虚拟环境下的activate的所有脚本中的路径,也不管用!找了网上好多资料都是乱七八糟,特别是中文的,都是答非所问!

hkmaike的专栏 703

在windows上安装python 虚拟环境遇到的一个

使用pip install virtualenv之后,试图通过virtualenv --no-download myenv创建一个python虚拟环境 但是出现了一个问题,在最后一行报一个错: ...Installing setuptools, pip, wheel...done. Traceback (most recent call last): File "c:\python...

阅读之后,对你有帮助,那就点个赞再走吧 2522
上一篇: matplotlib中matlab风格画图其实也是面向对象方式
下一篇: pandas 导出到excel ,打开excel有错误,错误的提示为:发现“***”中的部分内容问题,是否让我们尽量尝试修复?如果您信任此工作簿的源,请单击“是”。
python_xiaofeng
博客等级 码龄4年 11粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python_xiaofeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值