python 虚拟环境

一、虚拟环境介绍
先说什么是虚拟环境? 虚拟环境也是一个python解释器,比如你在电脑上装好一个python解释器之后,你就可以用python命令生成另一个python解释器(也就是个包含完整python解释器的目录,这个就叫虚拟环境了,怎么生成下面会介绍),这个虚拟环境和你装的python解释器完全没关系,可以随便拷贝给别人用。

为什么需要虚拟环境?
比如我现在写一个脚本,用的python3.7版本,写好了之后我想给另一个人用,他电脑装的python3.6的版本,他要想运行我的脚本可能就会不兼容,还得装个3.7的,很不方便,这时如果我写脚本时用的是虚拟环境pyhton解释器,那我把脚本给别人用的时候就可以把我的虚拟环境一起拷贝给他,他就可以直接用了。就是这么方便。

再比如,新入职一家公司开发一个软件,你自己电脑装的python3.7的版本,人家项目用的python3.8的版本,那你怎么办,把3.7的卸载了安装3.8的,那你自己以前写的项目就无法运行了。这时候公司项目如果用的是虚拟环境的解释器,你直接把项目和虚拟环境一起克隆下来就可以了,直接跑起来,需要的第三方库也都在,nice,你不用把环境都再配一遍了,直接干活。

二、创建虚拟环境
1、创建虚拟环境,这将会在当前目录下创建名为"myenv"的虚拟环境文件夹。
python -m venv myenv


2、激活虚拟环境,根据操作系统不同,有两种方式来激活虚拟环境
.\myenv\Scripts\activate     # windows 系统

source myenv/bin/activate    #mac/linux系统


查看虚拟环境是否被激活有两种方式:
方式一:
使用命令行工具(如Windows系统的cmd或者Linux/MacOS系统的Terminal)进入到虚拟环境所对应的目录,
然后输入activate命令来激活该虚拟环境。若成功激活,则会显示类似于 (venv) 这样的提示符号;
若未能正确激活,则不会有任何变化。


方式二:
在Python交互模式下,可以直接导入 sys 库并打印其 prefix 属性值。如果返回了虚拟环境路径,那么说明虚拟环境已经激活。
import sys
print(sys.prefix)



3、退出虚拟环境
deactivate



在Python中创建虚拟环境后,虚拟环境和你自定义包(或者任何第三方库)的目录层级关系通常是这样的(当然虚拟环境的目录可以随便放,这里只是建议):
项目根目录/
├── my_project/       # 你的项目文件夹
│   ├── __init__.py   # 如果是包,则包含此文件
│   ├── main.py       # 示例主程序文件
│   └── other_files...
├── .venv/            # 虚拟环境目录(Windows下可能显示为 `.env` 或 `myenv` 等)
│   ├── bin/          # 包含Python解释器、pip等工具
│   ├── include/      # C头文件
│   └── lib/          # Python库文件(包括标准库和其他安装在此环境中的第三方包)
├── requirements.txt  # 可选,用于记录项目依赖的包列表
└── setup.py          # 可选,如果你的项目是一个可发布的包,需要这个文件来定义安装和打包信息

通过这种方式,虚拟环境与项目的其他部分保持了分离,使得每个项目可以独立管理自己的依赖包,
避免不同项目间因为共享全局Python环境而导致的版本冲突问题。

posted @ 2024-08-23 18:05  有形无形  阅读(45)  评论(0)    收藏  举报