之前在处理其它需求时,发现只要用venv目录下的python.exe来解释py代码就可以正常运行。本来以为完事了,突然想起来,这样的话根本没有运行Activate命令,没有进入Python虚拟环境啊。于是稍微研究了一下这个问题。

[Activate]

看了下Activate源码,其中最重要的动作是把venv虚拟环境的路径临时添加到系统Path路径最前面,这样venv的pip命令就能把模块(库)安装到虚拟环境目录里。Path配置的信息可以在PowerShell里,通过 $env:Path 命令查看,能够清楚的看到运行Activate之后venv目录添加到了Path配置的最前面。

PowerShell中,通过 $env:Path 指令查看Path信息

运行Activate之后虚拟目录添加到了Path配置的最前面

[是否Activate进入虚拟环境对pip的影响]

写一个py测试文件,引入os模块(库),然后执行 os.system("pip list")

Activate进入虚拟环境,执行,列出venv中已经添加的模块;用系统Python执行,列出系统Python中已经添加的模块。

不Activate虚拟环境,直接用venv目录里的python.exe执行,列出系统Python中添加的模块

也就是说不Activate进入虚拟环境,会调用系统Python的pip命令

[是否Activate虚拟环境对Python.exe执行py代码有什么区别]

再编写py文件,引入sys模块(库),打印Python相关的环境变量print(sys.path)

系统Python执行

首先用系统Python执行:

路径中包括 [当前源码目录、系统Python的dll和lib目录,以及系统Python的site-packages目录]

Activate进入虚拟环境并执行

Activate进入虚拟环境并执行:

结果包括 [当前源码目录、系统Python的dll和lib目录,venv目录、venv的site-packages目录]

直接用venv目录里的python.exe执行

不Activate虚拟环境,直接用venv目录里的python.exe执行:

结果包括 [当前源码目录、系统Python的dll和lib目录,venv目录、venv的site-packages目录]

是否运行Activate都不影响最终结果

[结论]

无论是否Activate,虚拟环境的python.exe在运行时,环境变量自动包含venv的site-packages目录。

所以用venv的python.exe执行py代码,跟是否Activate虚拟环境没有关系。

Activate影响的是pip安装模块(库)的时候。

同时也清楚了venv里的Python还是继承系统Python的DLL和Lib,所以直接把venv拷贝给其它机器的话,至少需要对方机器里已经安装了同版本的Python。

相关视频:

python安装虚拟环境没有activate_Python venv虚拟环境:Activate命令的作用相关推荐

  1. python安装虚拟环境没有activate_Python venv虚拟环境Activate的作用

    今天在处理其它需求时,发现只要用venv目录下的python.exe来解释py代码就可以正常运行.本来以为完事了,突然想起来,这样的话根本没有运行Activate命令,没有进入Python虚拟环境啊. ...

  2. python路径在哪里设置_找Python安装目录,设置环境路径以及在命令行运行python脚本实例...

    第一点:找Python安装目录 方法一: 方法二: 输入import sys print(sys.path) 化黑线处 第二点:找到安装目录后就可以开始设置环境变量 这里我的安装目录为C:\Progr ...

  3. 第一:Python安装需要的第三方库时,命令行输入pip提示不是内部或外部命令

    在做Python开发时,安装需要的第三方库时,大多数人喜欢选择在命令行用pip进行安装. 然而有时敲入pip命令会提示'pip'不是内部或外部命令..如图: 解决办法 1.在python安装目录中找得 ...

  4. python安装venv_Python创建virtualenv(虚拟环境)方法及安装Ubuntu

    {{ hello }} Django模板测试 {%block mainbody %} original {%endblock %}

  5. python安装后pip用不了 cmd命令窗口提示:Did not provide a command

    遇到的问题: 解决方法: 首先,使用where pip找到我的pip的安装目录 其次,配置环境变量 环境变量已经配置,但是仍是使用的时候直接输入pip提示"Did not provide a ...

  6. Python自学成才之路 玩转虚拟环境

    Python自带的那个环境是系统环境,同一个项目的不同版本可能会依赖不同版本的依赖包,如果都放在系统环境下会使系统环境变得很庞大,同时操作起来也不太方便,如果给每个项目都单独配置一个环境,各个项目之间 ...

  7. python安装第三方库-常见错误解决

    python安装第三方库(例子requests.numpy) 在本地安装python,并配置好相应的环境变量(自行百度很简单) 直接cmd 命令pip list可查看当前python下已经默认安装了哪 ...

  8. Python安装第三方库方法教程

    总述: 安装Python库的方法最常用的有三种方法: 1.使用pip进行在线安装: 2.下载资源包,进行离线安装: 3.下载包的模块进行离线安装: 欢迎可以关注好男人的微信公众号:菜鸟资源分享,完全免 ...

  9. 查看 Python 安装路径和已安装的库

    第三方库位置一般位于 %Python 安装路径%\lib\site-packages 方法一.命令行 在 CMD 等控制终端中输入 pip list 方法二.文件资源管理器 在 Python 命令行窗 ...

最新文章

  1. pip 20.3 新版本发布!即将抛弃 Python 2.x
  2. 实现容器的底层技术 - 每天5分钟玩转 Docker 容器技术(30)
  3. 前端读者 | 别人写的css,你敢用吗?
  4. Python GUI编程--Tkinter
  5. (022)[工具软件]图片浏览 JPEGView
  6. The Ransom of Red Chief
  7. OpenCV-通道合并cv::merge
  8. Linux命令之nl
  9. Elasticsearch 为什么能做到快速检索?秘密在这里!
  10. SAAS-HRM-day4
  11. 单片机c语言中断嵌套,关于单片机中断嵌套总结
  12. 提交网址到bing搜索引擎
  13. Chui-Wen Chius Note: C++ 使用 JScript 和 VBScript
  14. 5月语言排行榜:R 跌出前二十,Python 紧咬 C++
  15. ElasticSearch 启动问题:“error downloading geoip database [GeoLite2-Country.mmdb]“
  16. fedora mysql 开机启动服务_linux -- 启动时启动服务或者执行命令
  17. GUI编程—欢迎来到PyQtGraph-中文版(中)!
  18. Windows Defender 打开后一片空白,安全中心不显示
  19. 蓝屏stop:0x000000007B (oxf78aa524,Oxcooooo34
  20. 英语语法-- 第二讲、Be动词的形式和用法

热门文章

  1. 计算机系学生thinkbook,ThinkBook系列性能差,只能当一台学习机?其实它只是专注于办公...
  2. mysql crash 如何定位_MySQL实例crash的案例详细分析
  3. 一起学nRF51xx 14 -  temp
  4. C语言之详解#ifdef等宏
  5. 在SIMULINK实现各类优化类算法的仿真——粒子群算法、细菌觅食、
  6. stm32 keil下不重启进行仿真寻找bug原因
  7. Web开发(一)·期末不挂之第六章·网页布局(浮动定位)
  8. Orchard:使用VS2010来生成一个地图Content Part
  9. 5分钟学会开发浏览器扩展
  10. PHP中类和文件的代码注释规范