ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

深入了解 Python Virtualenv

2022-09-11 00:30:17  阅读:194  来源: 互联网

标签:Virtualenv name Python 虚拟环境 深入 使用 安装


深入了解 Python Virtualenv

Photo by 詹姆斯哈里森 on 不飞溅

介绍

如果您刚开始使用 Python,建议使用多个虚拟环境。如果您的机器上安装了多个 Python 版本,那么建议您为每个版本使用单独的虚拟环境。这样,如果您的一个版本存在问题而另一个版本没有任何问题,那么您可以隔离有问题的版本(如果可能)以修复可能由它引起的任何错误。

什么是虚拟环境?

虚拟环境是一种工具,可让您创建隔离的 Python 环境。 Virtualenv 不会在系统范围的 Python 安装中安装任何包。相反,它会创建一个目录,其中包含该特定环境所需的所有可执行文件和库。

Virtualenv 使用“虚拟”或“沙盒”python 解释器的概念。每次使用 virtualenv 运行命令时,您的 shell 都会创建一个 Python 解释器实例(即使您的系统上安装了多个版本)。

为什么要使用虚拟环境?

虚拟环境是一种在您的计算机中创建单独和隔离的“系统”的方法。该系统可以在同一个地方运行多个应用程序和服务,而不会影响您的主机操作系统 (OS)。除了一次使用各种应用程序之外,还可以在另一个程序中使用一个应用程序。例如,您可以在 SQLite 数据库文件中拥有一个 Python 程序,其中包含一些有关您为公司雇用的员工的数据。

与使用 vanilla OS 环境相比,这种类型的设置提供了许多好处:

  • 保持一切清洁——如果您在同一台机器上运行多个不同的程序或服务,那么使用后总会留下一些混乱,即使它们是完全合法的程序!这不仅对性能不利,而且对于以后可能想要访问这些资源(甚至现在!)的其他用户来说也变得更加困难。
  • 确保一切安全——因为每个服务默认分配了自己的进程空间——这意味着其他任何东西之间没有共享——安装新软件时也不会有任何风险!这意味着在安装过程中出现问题的可能性更小,这直接转化为更少的头痛……

如何设置虚拟环境?

Virtualenv 允许您在具有自己的目录结构(等等)的隔离环境中运行命令,从而可以轻松地在 Linux 或 macOS 系统上创建、维护和删除虚拟环境。虚拟环境还将其所有配置设置保存在 .env 文件中,这些文件默认存储在您的主文件夹中(可以更改)。

本教程将展示使用 virtualenvwrapper 在 Python 2/3 中设置虚拟环境是多么容易——效果很好!

如何使用虚拟环境?

要使用 virtualenv,首先通过键入以下命令创建一个:

您需要使用简洁的命令安装 virtualenvwrapper python 包:

 $ pip 安装虚拟环境

在此之后,您转到要在其中创建虚拟环境的文件夹,然后键入以下命令来创建它。

 $ virtualenv venv_name

(其中 venv_name 是新虚拟环境的名称)

然后通过键入以下内容激活它:

 $ source venv_name/bin/activate

(其中 venv_name/bin/activate 是你的 shell 的路径)

最后,您可以使用 pip freeze 列出当前 shell 中安装的所有包。要将软件包安装到此环境中,只需运行即可。

 $ pip install package_name

(其中 package_name 是您要安装的软件包的名称)

要停用 virtualenv,请键入:

 $ 停用

在当前的外壳中。

结论

Virtualenv 是一个很好的工具,可以用来试验新的 Python 项目并学习如何正确使用它们。它可以帮助您避免使用您最喜欢的软件包的多个版本而令人头疼的问题,并且仍然可以访问您需要的一切。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/25872/20131100

标签:Virtualenv,name,Python,虚拟环境,深入,使用,安装
来源: https://www.cnblogs.com/amboke/p/16683281.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有