学 Python 别急着装一堆库:用虚拟环境让每个项目互不干扰
如果你刚开始学习编程,可能习惯直接在电脑上安装各种 Python 库。但随着项目越来越多,依赖冲突就可能出现。今天,我们从零开始创建一个虚拟环境,并亲手安装一个软件包。
一、什么是 Python 虚拟环境?
可以把虚拟环境理解成项目专属的 Python 工作空间。
例如,你有两个项目:
- 项目 A 使用某个库的旧版本。
- 项目 B 需要同一个库的新版本。
如果所有项目共用同一套安装环境,升级软件包时就可能影响其他项目。
使用虚拟环境后,每个项目都可以拥有相对独立的 Python 解释器环境和软件包。修改一个项目的依赖,通常不会影响另一个项目。
Python 自带的 venv 模块就能创建这样的环境,不需要额外安装专门的虚拟环境管理工具。
二、第一步:创建项目文件夹
首先,确认电脑已经安装 Python。在终端或命令行中输入:
python --version
如果系统使用 python3 命令,则尝试:
python3 --version
能看到版本号,就可以继续操作。
接着创建一个项目目录:
mkdir my-python-project
cd my-python-project
然后在当前目录创建虚拟环境:
python -m venv .venv
如果你的系统需要使用 python3,就改为:
python3 -m venv .venv
这里的 .venv 是虚拟环境的目录名称,也是一种常见命名习惯。命令执行完成后,项目目录中会出现 .venv 文件夹,里面包含运行环境所需的文件。
三、第二步:激活虚拟环境
创建完成后,还需要激活环境,让终端优先使用这个项目对应的 Python。
Windows PowerShell:
.venv\Scripts\Activate.ps1
Windows 命令提示符(CMD):
.venv\Scripts\activate.bat
macOS 或 Linux:
source .venv/bin/activate
激活成功后,命令行提示符通常会出现 (.venv) 这样的标记。
如果在 Windows PowerShell 中遇到脚本执行策略限制,不要急着修改系统设置,可以先检查 Python 官方文档中的相关说明。
需要注意,激活不是使用虚拟环境的绝对前提,但对初学者来说,它能让日常操作更加方便。
四、第三步:安装项目需要的软件包
现在,我们尝试安装一个常见的第三方库 requests,用于发送 HTTP 请求。
在虚拟环境已经激活的情况下,输入:
python -m pip install requests
安装完成后,可以通过下面的命令检查:
python -m pip show requests
如果输出中包含软件包的名称、版本和安装位置,就说明安装信息已经可以查询。
为什么这里使用 python -m pip,而不是直接输入 pip?
因为这种写法会让当前 Python 解释器调用对应的 pip,有助于避免电脑上存在多个 Python 版本时,把软件包安装到错误的环境中。
五、第四步:运行一个小例子
在项目目录中创建 main.py,写入下面的代码:
import requests
response = requests.get(
"https://example.com",
timeout=10
)
print("状态码:", response.status_code)
print("页面标题:", response.url)
运行:
python main.py
如果网络连接正常,请求通常会返回 HTTP 状态码。这里使用 timeout=10,是为了避免请求无限期等待。
这只是一个简单的联网示例。如果网络受限、目标网站不可访问,程序仍可能出现异常;实际项目中还应根据需要处理网络错误。
通过这个例子,你就完成了从创建虚拟环境、安装依赖到运行代码的完整流程。
六、第五步:记录依赖,方便以后重建
当项目安装了多个第三方库时,可以使用下面的命令记录当前环境中的软件包:
python -m pip freeze > requirements.txt
以后在另一个新建的虚拟环境中,可以执行:
python -m pip install -r requirements.txt
这样就能根据记录安装对应的软件包版本,减少重新配置环境的工作。
不过,pip freeze 会记录当前环境中已安装的软件包,并不一定等于项目经过筛选的全部直接依赖。对于复杂项目,还需要根据项目实际情况维护依赖清单。
另外,.venv 目录通常不需要提交到 Git 仓库。可以将下面这行加入项目根目录的 .gitignore 文件:
.venv/
虚拟环境适合在需要时重新创建,而不是直接复制到其他电脑或移动到另一个路径。
七、用完之后如何退出?
完成工作后,可以输入:
deactivate
终端就会退出当前激活的虚拟环境,恢复原来的命令行环境。
下次继续开发时,重新进入项目目录,再执行对应的激活命令即可。
总结: 学习 Python 时,尽早为每个项目创建独立的虚拟环境,能有效减少依赖冲突,也让项目更容易维护;记住 python -m venv .venv、激活环境和使用 requirements.txt 这几个基本操作,就已经迈出了规范管理 Python 项目的重要一步。
- 点赞
- 收藏
- 关注作者
评论(0)