Python虚拟环境:3条命令,你的项目再也不「打架」

Python虚拟环境:3条命令,你的项目再也不「打架」

为什么你的代码换了台电脑就跑不了?

你有没有遇到过这种情况:在教程里抄了一段代码,`pip install` 装了一堆东西,兴冲冲跑起来——报错 `ModuleNotFoundError`。换个项目再装,又报错说版本太高了。折腾半天,系统 Python 还被你搞坏了。

这不是你的问题。99% 的 Python 新手都踩过这个坑。

问题的根源很简单:所有项目共用同一个 Python 环境,A 项目要的库和 B 项目冲突了。

一句话讲明白:虚拟环境是什么

虚拟环境就是给每个项目一个独立的「小房间」——每个房间里有自己的 Python 解释器、自己的 `pip`、自己装的库。A 房间装 TensorFlow 2.x,B 房间装 TensorFlow 1.x,互不干扰。

想一下你手机上的微信双开——两个微信各自登录、各自有聊天记录,谁也不会乱。虚拟环境就是这个思路。

三分钟上手:三条命令搞定

下面是 Linux/macOS/WSL2 上的操作。Windows 用户把 `python3` 换成 `python`,路径里的斜杠反过来就行。

第一步:创建虚拟环境

打开终端,进入你的项目文件夹,敲:

python3 -m venv myenv

`myenv` 是环境名字,你可以换成任何你喜欢的名字(比如 `env`、`venv`、`project-env`)。这条命令会在当前目录下生成一个 `myenv` 文件夹,里面装着一个全新的 Python 副本。

第二步:激活环境

source myenv/bin/activate

敲完回车,你的终端提示符前面会出现 `(myenv)`。看到这个小标记,说明你已经在「小房间」里了。此时你敲的所有 `python`、`pip` 命令,影响的都是这个房间。

Windows 用户用这条:

myenv\Scripts\activate

第三步:安装需要的库

pip install requests numpy pandas

现在放心装——这些库只会进到 `myenv` 里面,你的系统 Python 丝毫不受影响。

第四步:用完退出

deactivate

终端前面的 `(myenv)` 消失了,你回到了系统环境。下次想继续用这个项目,再 `source` 激活一次就行。

进阶技巧:把环境「打包」给别人

你做好了项目,同事也想跑,但他不知道你装了哪些库。这时候你需要一个「清单」:

pip freeze > requirements.txt

这会生成一个 `requirements.txt` 文件,里面记录了所有安装的库和精确版本号,长这样:

requests==2.31.0
numpy==1.26.0
pandas==2.1.0

同事拿到你的项目后,只需要两条命令:

python3 -m venv myenv
source myenv/bin/activate
pip install -r requirements.txt

三秒钟,环境一模一样,代码直接跑。

一个常见坑:不要把虚拟环境传到 Git

`myenv` 文件夹可能有几百 MB,而且别人用不了你的二进制文件。记得在项目根目录加一个 `.gitignore` 文件,写上:

myenv/
venv/
env/

这样 Git 就不会跟踪虚拟环境文件夹,只提交代码和 `requirements.txt`。

今天学会这个,一年后你会感谢自己

Python 虚拟环境是那种「学的时候不知道有什么用,用上了才发现省了无数时间」的技能。三条命令——`venv`、`activate`、`deactivate`——每天帮你省下调试「模块找不到」的半小时。

下次你开一个新项目,第一件事不是 `pip install`,而是先建一个虚拟环境。养成这个习惯,你的 Python 之路会顺滑很多。


— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn

滚动至顶部
微信公众号:LC智趣厅

扫码关注微信公众号
LC智趣厅