python虚拟环境venv pip本地库(Python虚拟环境实用指南)python教程 / python虚拟环境与包管理指南...

wufei123 发布于 2024-06-26 阅读(5)

我们从事的项目很可能有许多需要安装的依赖项这些依赖关系促进了项目中的许多任务然而尤其是在处理多个项目时,我们需要很小心就像任何其他技术一样,软件包或编程语言也在不断改进因此正在推出新的版本不同的项目可能需要不同版本的包或软件。

例如,我们可能有一个项目需要Python2.7,另一个项目需要Python3.6随着项目和依赖项数量的增加,很难跟踪和处理这些差异克服这个问题的一种方法是使用虚拟环境它们可以被视为软件包的边界框我们可以在虚拟环境中开发一个项目,并安装特定于该项目的所有依赖项。

我们在虚拟环境中拥有的东西不受机器全局范围变化的影响Python有许多虚拟环境工具,如pipenv、virtualenv、venv等在本文中,我们将讨论一些使用virtualenv和pipenv的示例,以熟悉虚拟环境的概念及其工作方式。

让我们从virtualenv开始首先使用python包安装程序(pip)从终端安装它$ pip install virtualenv创建一个示例项目文件作为工作目录$ mkdir demoproject。

$cd demoproject现在在demoproject目录中我们将使用以下命令创建一个虚拟环境$ virtualenv venv_demo它被创造出来了我们可以运行ls命令来查看当前工作目录中的文件。

$ ls venv_demo下一步是激活虚拟环境。$source venv_demo/bin/activate一旦虚拟环境被激活,其名称将显示在终端中,如下所示:

现在可以安装软件包了$ python -m pip install pandas我们现在在虚拟环境中安装了pandasfreeze命令显示已安装软件包的列表$ python -m pip freeze numpy==1.19.4 pandas==1.1.5 python-dateutil==2.8.1 pytz==2020.5 six==1.15.0。

NumPy也被安装了,因为它是pandas的依赖pandas的安装版本是1.1.5我们可以在安装软件包时指定所需的版本$ python -m pip install pandas==1.0.5如果你只想检查特定软件包的已安装版本,请将freeze命令与grep一起使用:。

$ pip freeze | grep pandas pandas==1.0.5我们还可以安装保存在文本文件中的几个软件包这比一个接一个地安装依赖项要好,尤其是当有多个依赖项时$ python -m pip install -r requirements.txt。

为了退出虚拟环境,我们使用deactivate命令$ deactivate我们将发现的下一个工具是pipenv,它可以使用pip安装:$ pip install pipenv使用pipenv创建一个新的虚拟环境。

$ pipenv install --python=/usr/bin/python3.6Pipenv允许在创建虚拟环境时安装依赖项例如,我可以在上面的命令末尾添加pandas,这样就可以创建安装了pandas的虚拟环境。

运行shell命令来激活虚拟环境。$ pipenv shell

我们现在处于虚拟环境中也给这个安装pandas吧$ pipenv install pandasgraph命令显示已安装软件包的详细概述$pipenvgraphpandas==1.1.5-numpy[required:

>=1.15.4,installed:1.19.4]-python-dateutil[required:>=2.7.3,installed:2.8.1]-six[required:>=1.5,installed:

1.15.0]-pytz[required:>=2017.2,installed:2020.5]我们可以使用uninstall命令卸载虚拟环境中的特定包或所有包$ pipenv uninstall pandas 。

以下命令将卸载所有包$ pipenv uninstall -all键入“exit”命令退出虚拟环境结论虚拟环境是同时管理多个项目的好工具有许多软件包和库可以很快更新因此,试图手动更新效率不高本文介绍的内容可以看作是Python虚拟环境的实用介绍。

当然,在理论和实践上还有很多东西要学virtualenv(https://virtualenv.pypa.io/en/latest/)和pipenv(https://github.com/pypa/pipenv)的官方文档提供了关于这些工具的更详细的概述。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻66869