在使用Python进行一些项目的开发的时候,我们需要使用虚拟环境对程序进行运行以及包和库的管理。因为如果不使用虚拟环境,在同时开发多个项目的时候,会对环境造成混乱和污染(比如项目一使用Flask1,项目二使用Flask2)。 就算是开发一个项目,也需要用到虚拟环境,因为这样不仅能提升项目的可移植性,还能通过 pip freeze 一次性导出所有依赖包,方便分享和部署,还有就是不会污染系统级的Python,方便下一个项目的开发和创建。

虚拟环境的核心价值在于:

  1. 依赖隔离:每个项目拥有独立的 Python 运行环境和第三方包,互不干扰。
  2. 版本控制:可以精确导出项目所需的包和库的版本,便于团队协作和第三方部署(配合 requirements.txt文本)。
  3. 确保一个干净的环境:避免全局环境变得臃肿,降低系统级 Python 被意外破坏的风险。这样即使下错了包或者库可以重新再次创建一个虚拟环境,用的依然是一个干净的系统及Python。

创建虚拟环境的工具

Python生态中有多种虚拟环境管理工具,例如 venv、virtualenv、conda、pipenv等,选择venv,是因为venv是内置标准库,无需额外安装(venv 从 Python 3.3 开始成为标准库的一部分,只要你安装了 Python 3.3+,就可以直接使用,不需要通过 pip install 安装任何额外包)这对于快速搭建环境非常方便。

还有就是venv创建方便,没有很多复杂的命令,使用简单,学习成本低,上手快。 并且venv和Python的包管理工具pip无缝衔接,使用pip的命令也可以在虚拟环境中同样的使用,非常的方便。

创建虚拟环境

  1. 在需要创建虚拟环境的文件夹打开命令行(可以直接按Shift+右键,选择在终端中打开),输入命令:python3 -m venv venvpython -m venv venv)。
    这里需要注意的是,如果这里执行命令报错(因为PowerShell可能会禁止本地未知脚本的运行),切换到(终端上面可以手动切换的)cmd执行就可以了。
  2. 激活虚拟环境:
    Windows (CMD):
    .\venv\Scripts\activate
    macOS / Linux:
    source venv/bin/activate
  3. 如果需要退出虚拟环境,就执行命令:deactivate

执行创建命令没有反应的应对方式

笔者在创建虚拟环境的时候遇到了一个情况,就是执行了创建虚拟环境的命令,但是终端就相当于按了一次回车,没有任何反应,就直接跳到了下一行,也没有看到虚拟环境的文件夹。这是因为不可以使用python3这个命令,只要把那个3去掉,再次创建就会成功了。

python3 -m venv venv #敲回车,光标闪烁一下,然后就结束了
python -m venv venv #敲回车,等待一会了之后直接看到创建成功!

我尝试了一下,大概是因为我最近更新过Python,导致系统里的“路径配置”乱了。
使用where python3,只显示了一个C盘(我的Python安装在D盘)的一个快捷方式的图标,而使用命令where python才真正显示了D盘那个Python的文件。

这里有两个解决方法,一个是比较简单的,那就是直接把3去掉;
但是如果你有多个Python,建议你使用更高效的方法指定特定的版本直接创建(py -3.14 -m venv venv),这个命令对于更新过多次Python(可能会导致旧版本残留)、重装过Python或者有多个Python解释器版本(如同时装了 3.8、3.9和3.12)以及安装Python时没有添加到PATH(或者 PATH 配置混乱)的都可以有效使用。

希望这两种方法能帮你顺利创建虚拟环境,让开发过程更顺畅。也欢迎在评论区留言分享,我们一起交流进步!(^▽^)

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐