创建和激活python虚拟环境(venv), 以及在vscode上运行python虚拟环境

最近使用python做项目,发现佬们都是在用python的虚拟环境来放项目。发现确实有一些优势在这之中,

  1. 首先就是隔离性,我们将每个项目放入相对应的环境配置,可以有效避免乱七八糟的库出现在解释器中。
  2. 其次就是可移植性强,假如我们想让别人运行我们的项目,我们就不用挨个儿告诉他,python需要安装什么什么库,以及版本是多少多少, 如果我们在项目文件夹中启动了一个python虚拟环境,那么对方也只需要在项目文件夹中运行这个虚拟环境即可。

1. 借助shell来创建python虚拟环境

准备工作 : 我们应确保安装了 "python虚拟环境" 相关的库

shell 复制代码
pip install virtualenv

我们首先创建一个文件夹,并在cmd中打开这个文件夹(也就是在cmd中设置工作目录为这个文件夹)

接下来在shell中输入:

shell 复制代码
python -m venv .pvenv

等待数秒,我们就创建好了基本的虚拟环境

激活python虚拟环境

在linux操作系统的shell中,我们使用如下指令来激活python虚拟环境

shell 复制代码
source ./.pvenv/bin/activate

在Windows操作系统中,我们使用

shell 复制代码
 .\.pvenv\Scripts\activate

该命令可能需要管理员权限,Linux系统请使用sudo提升指令权限, Windows则选择使用"以管理员的身份打开cmd",然后运行命令。

接下来我们就进入了python的虚拟环境

在shell的输入栏的最左端,显示"(.pvenv)" , 即为已经进入了虚拟环境

这时候我们再进行python相关的操作(如python打开解释器,pip安装库文件等)都会对该虚拟环境进行。

更新pip: 接下来使用如下指令来更新虚拟环境中的pip

shell 复制代码
python -m pip install --upgrade pip

安装所需的第三方模块

python 复制代码
pip install numpy pandas matplotlib

退出虚拟环境 ,在命令行中输入deactivate即可

shell 复制代码
deactivate

2. 在vscode中使用python虚拟环境

第一步当然是使用vscode打开项目文件夹(将整个文件夹拖到vscode的图标中,或者在vscode中使用"打开文件夹")

更改解释器

在vscode中,使用ctrl + shift + p 快捷键来打开命令面板(或者在vscode的选项卡中选择"查看" -> "命令面板")。

在命令面板中输入Python:Select Interpreter,(或者输入"选择解释器")

点击该命令后, 会提示选择一个解释器,我们选择 .pvenv即可。

3.(Windows)使用powershell来激活虚拟环境

或许你认为使用管理员模式打开cmd不够简单,那么可以使用windows中的Powershell来激活虚拟环境。

  1. 打开powershell,输入以下命令来更改执行策略(允许未签名的脚本运行)
powershell 复制代码
Set-ExecutionPolicy Bypass -Scope Process -Force
  1. 在项目的工作目录下,输入以下命令来运行脚本
powershell 复制代码
.\.venv\Scripts\activate
  1. 切换回原先的执行策略(保证安全性)
powershell 复制代码
Set-ExecutionPolicy RemoteSigned -Scope Process -Force

这样我们就在终端中激活虚拟环境啦。

可以将上面三行命令存入文件中 activate.ps1 , 这样之后只需要在powershell中运行这个文件就可以激活虚拟环境了

powershell 复制代码
# vv.ps1
# 激活虚拟环境
Set-ExecutionPolicy Bypass -Scope Process -Force
.\.venv\Scripts\activate
Set-ExecutionPolicy RemoteSigned -Scope Process -Force
相关推荐
饕餮ing3 分钟前
C++的UDP连接解析域名地址错误
开发语言·c++·udp
莲动渔舟4 分钟前
Nyquist插件基础:打印格式化字符串(LISP语言)
开发语言·lisp·音频处理·audacity
满怀101516 分钟前
Python入门(5):异常处理
开发语言·python
莓事哒16 分钟前
使用pytesseract和Cookie登录古诗文网~(python爬虫)
爬虫·python·pycharm·cookie·pytessarct
攀小黑19 分钟前
Java 多线程加锁 synchronized 关键字 字符串当做key
java·开发语言
赵钰老师21 分钟前
【Deepseek、ChatGPT】智能气候前沿:AI Agent结合机器学习与深度学习在全球气候变化驱动因素预测中的应用
人工智能·python·深度学习·机器学习·数据分析
每次的天空29 分钟前
Kotlin 作用域函数:apply、let、run、with、also
android·开发语言·kotlin
小林熬夜学编程32 分钟前
【高并发内存池】第八弹---脱离new的定长内存池与多线程malloc测试
c语言·开发语言·数据结构·c++·算法·哈希算法
独好紫罗兰43 分钟前
洛谷题单3-P1980 [NOIP 2013 普及组] 计数问题-python-流程图重构
开发语言·python·算法
freejackman1 小时前
Selenium框架——Web自动化测试
python·selenium·测试