跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

Python 虚拟环境搭建与 PyCharm 配置实战

Python 虚拟环境用于隔离项目依赖,避免版本冲突。介绍基于 venv、virtualenv 及 conda 三种创建方式,详解如何在 PyCharm 中配置新项目和已有项目的解释器。针对 Windows PowerShell 执行策略导致的激活报错提供临时与永久解决方案,并说明 pip 包管理的基本操作。掌握虚拟环境是 Python 开发的最佳实践。

晚风告白发布于 2026/3/26更新于 2026/5/2115 浏览
Python 虚拟环境搭建与 PyCharm 配置实战

什么是虚拟环境

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

为什么需要虚拟环境

在实际开发中,维护虚拟环境主要有以下好处:

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

如何搭建虚拟环境

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

这是最推荐的方式,无需额外安装,Python 3.3+ 自带。

# 创建虚拟环境
python -m venv myenv

# 激活虚拟环境
# Windows: myenv\Scripts\activate
# Linux/Mac: source myenv/bin/activate

# 停用虚拟环境
dedeactivate

方法二:使用 virtualenv

如果你使用的是较旧的 Python 版本,或者需要更灵活的功能,可以使用 virtualenv。

# 安装 virtualenv
pip install virtualenv

# 创建虚拟环境
virtualenv myenv

# 激活/停用方式同上

方法三:使用 conda

适用于 Anaconda 或 Miniconda 用户,适合数据科学场景。

# 创建虚拟环境
conda create --name myenv python=3.8

# 激活
conda activate myenv

# 停用
conda deactivate

在 PyCharm 中使用虚拟环境

PyCharm 对虚拟环境的支持非常友好,无论是新项目还是旧项目都能轻松配置。

创建新项目时

新建项目向导中,直接选择 "New Environment using Virtualenv",指定 Python 解释器位置和虚拟环境位置即可。PyCharm 会自动为你创建并配置好环境。

为已有项目添加虚拟环境

如果项目已经存在,可以通过以下步骤配置:

  1. 打开设置:File > Settings > Project: [项目名] > Python Interpreter
  2. 点击齿轮图标,选择 Add
  3. 选择 Virtualenv Environment 并进行配置

使用已有虚拟环境

如果你已经在命令行手动创建了虚拟环境,可以在 PyCharm 的 Python Interpreter 设置中选择 Existing environment,然后指向虚拟环境中的 Python 解释器(例如 myenv/Scripts/python.exe)。这样 PyCharm 就能识别并使用该环境了。

确认环境生效

配置成功后,在 PyCharm 的控制台输入代码时,左侧通常会显示当前虚拟环境的名称,这表示环境已正确关联。

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

在 Windows 下激活虚拟环境时,可能会遇到 PowerShell 报错:

无法加载文件 D:...\myenv\Scripts\Activate.ps1,因为在此系统上禁止运行脚本。

原因分析

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

你可以在终端执行 get-ExecutionPolicy 查看当前策略,通常默认为 Restricted。

解决方法

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

仅对当前会话生效,关闭 PowerShell 后恢复默认策略,不影响系统安全。

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
方案 2:永久修改执行策略

如果你经常需要运行 .ps1 脚本,可以全局修改策略(需要管理员权限)。

Set-ExecutionPolicy RemoteSigned -Force
方案 3:改用 CMD 激活

如果不想修改 PowerShell 策略,可以直接使用 CMD 激活虚拟环境,CMD 没有脚本执行限制。

D:\path\to\myenv\Scripts\activate.bat

管理虚拟环境中的包

在虚拟环境中,包的管理与普通 pip 操作一致:

# 安装包
pip install package_name

# 生成 requirements 文件 (记录所有依赖)
pip freeze > requirements.txt

# 根据 requirements 文件安装依赖
pip install -r requirements.txt

虚拟环境是 Python 开发的最佳实践。出于依赖隔离与项目独立性的考虑,建议为每个项目单独创建虚拟环境,养成良好的工程习惯。

目录

  1. 什么是虚拟环境
  2. 为什么需要虚拟环境
  3. 如何搭建虚拟环境
  4. 方法一:使用 Python 内置 venv 模块
  5. 创建虚拟环境
  6. 激活虚拟环境
  7. Windows: myenv\Scripts\activate
  8. Linux/Mac: source myenv/bin/activate
  9. 停用虚拟环境
  10. 方法二:使用 virtualenv
  11. 安装 virtualenv
  12. 创建虚拟环境
  13. 激活/停用方式同上
  14. 方法三:使用 conda
  15. 创建虚拟环境
  16. 激活
  17. 停用
  18. 在 PyCharm 中使用虚拟环境
  19. 创建新项目时
  20. 为已有项目添加虚拟环境
  21. 使用已有虚拟环境
  22. 确认环境生效
  23. 常见报错:禁止在系统上运行脚本
  24. 原因分析
  25. 解决方法
  26. 方案 1:临时允许脚本运行(推荐)
  27. 方案 2:永久修改执行策略
  28. 方案 3:改用 CMD 激活
  29. 管理虚拟环境中的包
  30. 安装包
  31. 生成 requirements 文件 (记录所有依赖)
  32. 根据 requirements 文件安装依赖
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • LLaMA-Factory 微调 Qwen3-VL 详细流程
  • 微信小程序 WebView 与内嵌网页双向通信指南
  • C++11/14/17 特性整理与 Effective Modern C++ 条款实践(一)
  • Rust 异步编程实战:构建高性能 WebSocket 服务
  • JavaScript 变量声明:var、let、const 核心区别与实战指南
  • 前端核心面试题深度解析:从原理到实战
  • 春晚机器人刷屏,A 股板块为何高开低走?
  • 链表核心算法实战解析
  • GitNexus 核心引擎架构与实现解析
  • LLM 无法准确运算数字的底层原因分析
  • 大模型量化方法选择与效果评估指南
  • MCP 工具集成实战:browser-tools-mcp 配置与使用
  • AI 时代下的低代码复兴:开发民主化的新机遇
  • PostgreSQL 18 默认密码修改与安全加固指南
  • 计算机二级 MS Office 必考选择题精选及备考指南
  • VR 与 AR 技术深度解析:从原理到未来趋势
  • 知网 AIGC 检测原理与降低疑似度实战指南
  • Adobe Photoshop 25.0 Beta 更新详解:创意填充与神经网络滤镜
  • 当人人都会用AI,你靠什么脱颖而出?
  • Windows Git 安装配置指南:避坑与最佳实践 (2025 版)

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online