【Python】Python / PyCharm 虚拟环境详搭建与使用详解

【Python】Python / PyCharm 虚拟环境详搭建与使用详解

文章目录

什么是虚拟环境

虚拟环境(Virtual Environment) 是Python中用于隔离项目依赖的工具,其允许我们在同一台机器上为不同的Python项目创建独立的环境,每个环境可以有自己独立的Python版本和第三方库。


虚拟环境的作用

  1. 依赖隔离:不同项目可以使用不同版本的库而不会冲突
  2. 项目独立性:确保项目所需的依赖被明确记录且不会影响系统全局环境
  3. 便于协作:通过requirements文件可以轻松分享项目环境配置
  4. 避免权限问题:不需要系统管理员权限安装包
  5. 干净卸载:删除虚拟环境即可完全移除所有相关依赖

如何搭建虚拟环境

方法1: 使用Python内置venv模块

# 创建虚拟环境 python -m venv myenv # 激活虚拟环境# Windows: myenv\Scripts\activate # Linux/Mac:source myenv/bin/activate # 停用虚拟环境 deactivate 
在这里插入图片描述

方法2: 使用virtualenv

# 安装virtualenv pip install virtualenv # 创建虚拟环境 virtualenv myenv # 激活/停用同上

方法3: 使用conda(适用于Anaconda/Miniconda用户)

# 创建虚拟环境 conda create --name myenv python=3.8# 激活 conda activate myenv # 停用 conda deactivate 

在PyCharm中使用虚拟环境

创建新项目时:

  • 新建项目时选择"New Environment using Virtualenv"
  • 指定Python解释器位置和虚拟环境位置
在这里插入图片描述

为已有项目添加虚拟环境:

  • File > Settings > Project: [项目名] > Python Interpreter
  • 点击齿轮图标 > Add
  • 选择"Virtualenv Environment"并配置
在这里插入图片描述


在这里插入图片描述

使用已有虚拟环境:

  • 在Python Interpreter设置中,选择"Existing environment"
  • 指向虚拟环境中的Python解释器(如myenv/Scripts/python.exe)

也可以先通过 python -m venv myenv 命令进行创建虚拟环境,随后在pycharm中使用该虚拟环境

在这里插入图片描述

虚拟环境搭建成功

在pycharm上成功使用虚拟环境时,控制台输入左侧会出现虚拟环境的名称:

在这里插入图片描述

报错:禁止在系统上运行脚本

</font face=“”>

当在windows下执行虚拟环境的脚本命令时,可能会报错:

无法加载文件 D:\Coder\Warehouse\python\algorithm_problem\myenv\Scripts\Activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中
的 about_Execution_Policies。

在这里插入图片描述


为什么会出现这个错误?

原因:PowerShell 执行策略限制

  • 当我们运行 .\myenv\Scripts\Activate.ps1 激活虚拟环境时,PowerShell 会阻止执行 .ps1 脚本,因为默认的执行策略是 Restricted(禁止运行任何脚本)。
  • 这是 Windows 的安全机制,防止恶意脚本自动运行。

我们可以在windows下执行 get-ExecutionPolicy 命令显示当前的策略,可以观察到当前策略是默认策略 Restricted

在这里插入图片描述

解决方法

方法 1:临时允许脚本运行(推荐)

# 仅对当前会话生效,关闭 PowerShell 后恢复默认策略Set-ExecutionPolicy-Scope Process-ExecutionPolicy Bypass 
  • 优点:不影响系统全局策略,仅当前终端有效。

方法 2:永久修改执行策略

# 全局修改执行策略(需要管理员权限)Set-ExecutionPolicy RemoteSigned -Force 
  • 适用场景:如果需要经常运行 .ps1 脚本(如 Python 虚拟环境激活)。

方法 3:改用 CMD 激活虚拟环境

如果不想修改 PowerShell 策略,可以直接用 CMD

D:\Coder\Warehouse\python\algorithm_problem\myenv\Scripts\activate.bat 
  • CMD 没有脚本执行限制,不会报错。

管理虚拟环境中的包

# 安装包 pip install package_name # 生成requirements文件(记录所有依赖) pip freeze > requirements.txt # 根据requirements文件安装依赖 pip install -r requirements.txt 

虚拟环境是Python开发中的最佳实践,能有效解决依赖冲突问题,一般情况下,出于依赖隔离与项目独立性的考虑,建议为每个项目单独创建虚拟环境。

Read more

OpenClaw接入模型并基于WebUI完成智能操作

OpenClaw接入自定义模型并基于WebUI完成智能操作 背景介绍 OpenClaw(原 Clawdbot)是一个开源的 AI 代理框架,支持通过配置文件或 GUI 界面进行灵活配置。安装 OpenClaw 后,用户可以通过修改工作目录下的配置文件 openclaw.json 来接入不同的 LLM 模型提供商。 OpenClaw 支持众多主流模型提供商,包括 OpenAI、Anthropic、Moonshot AI(Kimi)、OpenRouter、Vercel AI Gateway、Amazon Bedrock 等。完整的提供商目录可参考官方文档 模型提供商快速入门。 要使用自定义的提供商,需要通过 models.providers 配置进行设置。这种方式允许用户接入官方支持列表之外的其他兼容 OpenAI API 或 Anthropic 格式的模型服务。 接入配置说明 核心配置参数解析

By Ne0inhk
【AI深究】决策树(Decision Tree)全网最详细全流程详解与案例(附Python代码演示)|数学原理、案例流程、代码演示及结果解读|ID3、C4.5、CART算法|工程启示、分类、回归决策树

【AI深究】决策树(Decision Tree)全网最详细全流程详解与案例(附Python代码演示)|数学原理、案例流程、代码演示及结果解读|ID3、C4.5、CART算法|工程启示、分类、回归决策树

大家好,我是爱酱。本篇将会系统讲解决策树(Decision Tree)的定义、原理、数学推导、常见算法、代码实现与工程应用。内容适合初学者和进阶读者,配合公式和可视化示例。这期的文章会较简单,如果大家有兴趣可以到爱酱主页搜寻更多分类、回归等的算法! 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力! 一、决策树是什么? 决策树是一种监督学习算法,既可用于分类(Classification)也可用于回归(Regression)。它通过一系列的“条件判断”将数据集划分成不同的子集,最终在树的叶节点给出类别或数值预测。 * 结构直观:类似流程图或“二十问”游戏,每个节点是一次特征判断,每个分支是判断结果,叶节点给出最终决策。 * 可解释性强:每一步决策都可追溯,便于业务理解和模型解释。 二、决策树的基本结构 * 根节点(Root Node):包含全部数据,

By Ne0inhk
全栈分页方案:MyBatisPlus后端与Thymeleaf前端深度整合指南

全栈分页方案:MyBatisPlus后端与Thymeleaf前端深度整合指南

目录 前言 一、MybatisPlus搭建及表介绍 1、MybatisPlus环境搭建 2、示例表结构介绍 二、Java后台分页实现 1、实体类实现 2、业务层分页实现 3、控制层实现 三、Thymeleaf分页集成 1、分页表格展示 2、分页条集成 3、成果展示 四、可能遇到的问题 1、分页不展示 2、问题解决 五、总结 前言         在当今的软件开发中,分页功能是提升用户体验和系统性能的关键。无论是企业级应用还是面向用户的平台,高效分页都能显著改善交互体验。今天将带你深入了解如何通过 MyBatisPlus 和 Thymeleaf 的深度整合,打造一个完整的全栈分页解决方案。分页功能不仅能够提升用户交互的流畅性,还能显著降低服务器的负载,提高系统的整体性能。将 MyBatisPlus 和 Thymeleaf

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 jaspr 为鸿蒙端开启极速渲染的现代 Web 开发新范式(Dart Web 框架首选)

Flutter for OpenHarmony: Flutter 三方库 jaspr 为鸿蒙端开启极速渲染的现代 Web 开发新范式(Dart Web 框架首选)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 开发时,我们偶尔需要跳出原生的 HAP 容器,寻找更轻量、更适合在移动端 Web 加载的方案。虽然 Flutter Web 极其强大,但其生成的 Canvas/Wasm 产物体积巨大,在鸿蒙系统加载较慢。是否存在一种方案,既能使用 Dart 的声明式开发体验,又能产出纯正、轻量的 HTML/CSS/JS 节点? jaspr 就是这个问题的终极答案。它是一个模仿 Flutter 语法、但专注于渲染原生 Web DOM 的现代框架。通过 Jaspr,鸿蒙开发者可以利用熟悉的 Widget、Component 和生命周期,

By Ne0inhk