接私活和做课设,Python 虚拟环境该怎么选?

结论先给:只在本机跑脚本、交课设作业,标准库自带的 venv 就够;要装 numpy、pandas 这类库或者需要 CUDA 之类非 Python 依赖,conda 更省事;要把包发出去、团队要锁死依赖版本,再考虑 Poetry。下面按场景说清 Python 虚拟环境怎么用,以及最容易踩的几个坑。

先按场景定方案:Python 虚拟环境三种选法

  • 单机跑脚本、课设作业、小工具:用 venv。Python 3.3 起标准库自带,不用额外装东西,一条命令就能建。
  • 数据分析、深度学习、需要 CUDA 或 R 等非 Python 依赖:用 conda,建议装 Miniconda 而不是完整版 Anaconda,安装包体积小很多。
  • 要发布到 PyPI、多人协作要锁定依赖:用 Poetry。依赖声明和环境管理放在一套流程里,pyproject.toml 跟着代码进仓库。
  • 一台机器要装多个 Python 版本(比如 3.10 和 3.12 并存):macOS、Linux 上用 pyenv 管版本,再配合 venv 建项目环境。

判断标准只有一条:虚拟环境解决的是「两个项目依赖同一个库的不同版本」这种冲突。装在一起必然打架,分开建环境互不影响。

venv 上手:Python 虚拟环境三步建好

  1. 打开终端或命令行,进项目根目录:cd 你的项目路径。
  1. 建环境:python -m venv .venv。目录叫 .venv 是社区习惯,叫 venv 也行,关键是每个项目自己一个。
  1. 激活:macOS / Linux 用 source .venv/bin/activate;Windows CMD 用 .venvScriptsactivate;Windows PowerShell 用 .venvScriptsActivate.ps1。
  1. 激活成功的标志是命令行开头出现 (.venv)。这时再 pip install requests,包只会进这个目录。
  1. 退出用 deactivate;想删环境,直接删 .venv 文件夹,代码不受影响。

依赖记录:pip freeze > requirements.txt 导出,换机器后 pip install -r requirements.txt 还原。

在终端执行 python -m venv 建好并激活 Python 虚拟环境后,命令行前显示 (.venv) 的截图
激活成功后命令行前会出现 (.venv) 提示

conda 怎么用:适合数据分析场景

  1. 装好 Miniconda 后建环境:conda create -n myenv python=3.11,版本号按项目要求改。
  1. 激活用 conda activate myenv,退出用 conda deactivate。
  1. 装库用 conda install numpy pandas;conda 渠道里没有的包可以再用 pip install 补,但同一个环境里别反复混着用两种方式。
  1. conda env list 看所有环境,conda env remove -n myenv 删除。
  1. 给别人复现:conda env export > environment.yml,对方用 conda env create -f environment.yml 重建。

限制:conda 环境占磁盘比 venv 大,base 环境建议只放 conda 本体,别往里装项目依赖。

四个高频坑,踩过一次就记住了

  • 忘了激活就 pip install:装完用 pip -V 看一眼路径,指向项目里的 .venv 才对。
  • 把 .venv 提交进 Git:在 .gitignore 里加 .venv/ 一行。环境里有成千上万个文件,提交上去仓库会迅速膨胀。
  • 换电脑直接拷 .venv 文件夹:里面的脚本写死了原路径,拷过去经常报错。正确做法是重建环境,再按 requirements.txt 装。
  • 编辑器没选解释器:VS Code 按 Ctrl+Shift+P(macOS 是 Cmd+Shift+P),搜 Python: Select Interpreter,选项目 .venv 里的那个,否则跑起来的还是全局 Python。

常见问题(FAQ)

一个项目要建一个虚拟环境吗?

是。按项目建,一个项目一个环境。多个项目共用一个环境,迟早遇到版本冲突,改起来比重建还麻烦。

虚拟环境删了会丢代码吗?

不会。环境里只有依赖包,代码在项目目录里。删掉后按 requirements.txt 重新装一遍即可,几分钟的事。

venv 和 virtualenv 选哪个?

Python 3.3 起标准库自带 venv,新项目直接用 venv 就行;virtualenv 是第三方工具,需要兼容更老的 Python 版本或更细的创建选项时才会用到。

虚拟环境能放在网盘同步目录里吗?

不建议。环境里有大量小文件,同步慢,多台机器同时改还容易冲突。把 requirements.txt 同步过去,在本机重建更省事。

选型顺序很清楚:先用 venv 起步,碰到科学计算和非 Python 依赖再换 conda,要发布或多人协作再上 Poetry。Python 虚拟环境怎么用的核心不是背命令,而是养成「一个项目一个环境、依赖写进 requirements.txt」的习惯,换机器时能立刻重建。

最后更新:2026-10-14(工具界面、价格与政策可能调整,请以官方页面为准)。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...