Python 项目总是装错库?用虚拟环境彻底解决依赖混乱

举报
AiGuoHou 发表于 2026/10/18 13:22:37 2026/10/18
【摘要】 刚开始学习 Python,经常会遇到这样的情况:一个项目能运行,另一个项目却提示缺少模块;明明安装了某个库,运行代码时仍然报错。其实,你可以用 Python 自带的虚拟环境功能,为每个项目建立独立的运行空间,让安装的依赖互不干扰。

一、为什么需要虚拟环境?

假设你正在学习两个 Python 项目。

项目 A 使用某个库的旧版本,项目 B 却需要它的新版本。如果把所有库都安装到同一个 Python 环境中,升级依赖时就可能影响其他项目。

虚拟环境(Virtual Environment)就是为了解决这个问题。

你可以把它理解为每个项目独立的工具箱:项目需要什么库,就安装什么库,不必担心其他项目的依赖被随意改变。

Python 自带的 venv 模块可以创建这种独立环境,不需要额外安装专门的虚拟环境工具。每个环境都有自己的 Python 可执行文件和第三方库安装目录。

二、第一步:创建项目文件夹

首先,确认电脑已经安装 Python。

打开终端或命令提示符,输入:

python --version

如果系统显示 Python 版本号,说明这个命令可以正常调用 Python。如果提示找不到命令,可以先安装 Python,或者检查系统的 PATH 配置。

接着,创建一个用于练习的项目目录:

mkdir my_project
cd my_project

然后创建虚拟环境:

python -m venv .venv

这条命令会在当前目录下创建一个名为 .venv 的虚拟环境。

这里的 -m venv 表示运行 Python 自带的 venv 模块,.venv 则是环境目录的名称。你也可以将它命名为 venv,但 .venv 是一种常见的项目目录命名方式。

如果你的电脑使用 python3 调用 Python,可以将命令中的 python 替换为 python3。

创建完成后,项目目录大致如下:

my_project/
├── .venv/
└── (你的项目代码)

.venv 中存放的是环境相关文件。通常不需要手动修改其中的内容,也不要把自己的业务代码放进去。

三、第二步:激活虚拟环境

创建环境后,还需要让终端优先使用它。

macOS 或 Linux:

source .venv/bin/activate

Windows 命令提示符(CMD):

.venv\Scripts\activate.bat

Windows PowerShell:

.venv\Scripts\Activate.ps1

激活成功后,终端提示符前面通常会出现 (.venv) 这样的标记。

这意味着,在当前终端中调用 python 和 pip 时,通常会优先使用这个虚拟环境中的解释器和包管理工具。

如果 PowerShell 因执行策略而拒绝运行激活脚本,不要急着修改系统级安全设置。你可以改用 CMD,或者查阅 Python 官方文档中的相关说明。

需要注意:激活环境并不是使用虚拟环境的绝对前提。你也可以直接调用环境中的 Python 可执行文件,只是初学者使用激活方式通常更方便。

四、第三步:安装库并运行代码

现在,我们用一个简单例子验证虚拟环境是否生效。

在激活环境后,输入:

python -m pip install requests

这里使用 python -m pip,可以让 pip 与当前调用的 Python 解释器对应,减少装错环境的可能。

安装完成后,新建一个 main.py 文件,写入:

import requests

response = requests.get(
    "https://example.com",
    timeout=10
)

print("状态码:", response.status_code)
print("网页长度:", len(response.text))

运行程序:

python main.py

如果网络连接正常,并且目标网站允许访问,你通常会看到类似下面的输出:

状态码:200
网页长度:1256

实际网页长度会有所不同。

这个小例子说明,程序已经能够导入刚刚安装的 requests 库,并使用它发送 HTTP 请求。如果网络不可用或请求超时,也可能产生异常,因此输出结果并不保证每次都相同。

五、第四步:保存依赖,方便以后恢复

一个项目开发到一半,最怕换电脑或者重新安装环境后,不知道需要哪些库。

解决办法是将依赖列表保存到 requirements.txt 文件中。

在虚拟环境激活的情况下,执行:

python -m pip freeze > requirements.txt

这个文件会记录当前环境中已安装的 Python 包及其版本,便于以后重建环境。

例如,文件中可能出现:

requests==2.32.0

上面的版本号只是格式示例,并不代表当前安装的一定是这个版本。

以后在新的环境中,可以运行:

python -m pip install -r requirements.txt

这样就能根据文件中的版本记录安装依赖。

需要注意,pip freeze 会记录环境中符合条件的已安装包。如果项目依赖很多,最好保持每个项目的虚拟环境干净,避免把无关的实验性依赖也记录进去。

六、最后一步:退出与清理环境

完成工作后,可以输入:

deactivate

这会退出当前激活的虚拟环境,但不会删除环境文件。

如果某个练习项目不再需要,也可以删除整个 .venv 目录,然后根据项目的依赖清单重新创建。

注意: 不要把 .venv 直接复制到另一台电脑上使用。虚拟环境可能包含与操作系统、Python 安装路径相关的内容,通常应当在新位置重新创建。

另外,使用 Git 管理项目时,通常应该将 .venv/ 添加到 .gitignore,而不是把整个环境提交到代码仓库。

总结

虚拟环境是 Python 入门阶段非常值得养成的习惯。记住创建、激活、安装依赖和保存依赖清单这几个步骤,就能让不同项目各自管理所需的库,减少版本冲突和环境混乱。

从今天开始,每个 Python 项目都建立一个独立的 .venv,让开发环境保持整洁,也让以后迁移和维护项目更加轻松。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。