用于管理虚拟环境的 Python 工具

本文介绍了如何在Windows上使用virtualenv创建、激活和管理Python虚拟环境,以及Poetry和Pipenv作为替代工具的优缺点。文章强调了虚拟环境在隔离包管理和避免系统污染方面的优势。
摘要由CSDN通过智能技术生成

或者,在 Windows 上:

.\venv\Scripts\Activate.ps1

如果不使用 Bash 或 Powershell,您可能会在./venv/binor.\venv\Scripts目录中查看 CMD、fish 或 csh 的其他选项。

激活后,命令提示符应更改为以虚拟环境目录的名称为前缀。就像是:

(.venv) [default command prompt] $

(.venv)(或任何你命名的)是你已经激活你的虚拟环境的标志。在您重新启动计算机或启动不同的 shell 或终端选项卡后,它不会保持活动状态。习惯运行激活脚本

编辑器/IDE 有时会管理甚至自动激活虚拟环境。有VSCode 说明Atom 插件Vim插件、Sublime插件,当然还有PyCharm

激活后,您应该可以尝试以下操作:

(.venv) $ python

>>> import sys

>>> sys.executable

‘/home/my_username/sample_python/.venv/bin/python’

>>>

查看可执行文件在您的虚拟环境目录中的位置?如果虚拟环境未激活,则sys.executable应该读取类似'/usr/bin/python'or的内容'C:\\Python38\\python.exe'

在虚拟环境中执行 Python 脚本

您可以通过两种方式执行 python 脚本:

  • 激活虚拟环境然后运行 python my_script_name.py

  • 即使没有激活,也可以使用虚拟环境的 python 运行脚本,例如 ./.venv/bin/python my_script_name.py

停用虚拟环境

要退出虚拟环境,请将其停用,如下所示:

(.venv) $ deactivate

$

简单。要重新激活,请重复上述说明。

安装东西

重新激活虚拟环境,并使用 pip 安装一些东西:

(.venv) $ pip install arrow

需要安装包和依赖项,然后您可以导入和使用该包。

您可以注销,忘记 Python,几周后再回来,然后重新激活您的虚拟环境。软件包仍将被安装。但_仅限于这种虚拟环境_。它不会污染您的系统 Python 环境或其他虚拟环境。

破坏虚拟环境

“我的虚拟环境无法修复,”你说?它发生了。这就是使用虚拟环境的安全性。该怎么办?

烧掉它。

rm -r .venv

全没了。希望你记得包列表(你做了一个pip freezepip list第一个得到列表,对吧?)

然后重新创建虚拟环境,如上所述

virtualenv


virtualenv工具与python -m venv. 事实上,Python 的venv模块是基于virtualenv的。但是,使用virtualenvin place ofpython -m venv具有一些显而易见的优势:

  • virtualenv 通常比 python -m venv

  • pipsetuptools和等工具wheel通常是最新的、缓存的(因此性能提升)。术语,virtualenv这些是种子包。而且,是的,您可以添加其他种子包。

virtualenv 用法

一些不错的virtualenv命令:

  • virtualenv --help 最后会告诉你配置文件应该在哪里,以防你想设置一个通用配置

  • virtualenv --upgrade-embed-wheels会将所有种子包(如pip等)更新到最新版本。

否则,请按照上述, 的说明进行操作venv,但使用virtualenv代替python -m venv

virtualenv 安装

您可以virtualenv从包管理器的存储库中安装(例如,使用aptor dnf)。

但我强烈建议使用pipx. 请随意阅读我关于 pipx 的文章“如何安装 Python 命令行工具或脚本? ”以获得解释和说明。

安装后,您pipx应该能够:

pipx install virtualenv

诗歌

诗歌

virtualenv并且venv有用且简单,做他们擅长的事情。Poetry是另一种工具,不仅可以方便地管理虚拟环境,还可以方便地管理项目和依赖项管理。

请随意阅读我使用 Poetry 管理项目的介绍,以开始使用该工具。

与Pipenv 一样,Python 文档对 Poetry 有几乎官方的几乎推荐。在管理应用程序依赖关系教程(它本身就是使用 Pipenv 的指南)中写道,我们“还应该将诗歌项目视为一种替代的依赖关系管理解决方案”。

有了那热情洋溢的背书,让我们试试诗歌吧。

诗歌装置

您可以按照我的 Poetry 介绍官方文档来安装 Poetry。

决定诗歌在哪里放置虚拟环境

默认情况下,Poetry 有一个中心位置来安装虚拟环境。这很好,如果您不希望项目目录与虚拟环境目录混杂在一起(换句话说,如果您不希望在项目中看到venvor.venv目录)。

如果像我一样,您更喜欢传统主义者,并且希望.venv每个项目的目录中都有虚拟环境文件,请尝试以下操作:

poetry config virtualenvs.in-project true

这将全局配置诗歌这样做。

与诗歌虚拟环境互动

诗是项目管理的,所以要新建一个虚拟环境,首先创建项目目录,进入该目录:

poetry new my_project

cd my_project

第一次需要虚拟环境时,会自动创建。

激活虚拟环境:

poetry shell

要退出这个虚拟环境,用 退出exitCtrl-d或者你喜欢退出你的 shell。

无需先进入虚拟环境,您就可以使用poetry run. 例如,

poetry run python

应该在虚拟环境中为您提供 Python 提示。

用诗歌添加包

传统方法不同,使用 Poetry,我们不应该使用pip install安装包。相反,使用poetry add.

poetry add arrow

以上将安装箭头并将其记录为pyproject.toml文件中的依赖项。

您可能会看到各种其他带有poetry help.

Pipenv


Pipenv

有趣的是,官方的Python“安装包”教程明确指出“直接管理多个虚拟环境会变得乏味,所以…”然后引用了 Pipenv

尽管存在这个几乎是官方的几乎推荐,但我仍然使用它,virtualenv因为它可靠且简单,或者Poetry,因为它提供了出色的项目和依赖项管理。

也就是说,Pipenv 已经流行了一段时间,值得关注和尊重。如果你喜欢它,你有充分的理由。

安装 Pipenv

虽然Pipenv 文档建议使用 pip 或您的包管理器,但我强烈建议使用pipx来安装 Pipenv。您可以在此处阅读有关安装和使用pipx的更多信息。然后…

pipx install pipenv

与 Pipenv 的虚拟环境交互

使用 Pipenv,首先为您的项目创建一个目录很重要。(实际上,这对于任何工具都是一个不错的举措。)

第一次需要虚拟环境时,会自动创建。

激活虚拟环境:

pipenv shell

要退出这个虚拟环境,用 退出exitCtrl-d或者你喜欢退出你的 shell(如果你尝试了上面的Poetry命令,这一切应该开始感觉有点熟悉)。

无需先进入虚拟环境,您就可以使用pipenv run. 例如,

pipenv run python

应该在虚拟环境中为您提供 Python 提示。

使用 Pipenv 安装包

Pipenv不使用pip install安装包,而是使用pipenv install.

pipenv install arrow

上面将安装箭头并将其记录为Pipfile当前目录中的依赖项。

您可能会看到各种其他 Poetry 命令 pipenv -h

Pyflow


我承认我喜欢新的和闪亮的东西。在这方面有点喜鹊。

喜鹊图片

如果您向我询问使虚拟环境变得简单的推荐工具,我会询问您有关您的项目和您的愿望,然后通常建议使用virtualenvPoetry

但是如果你想尝试一些有点晦涩但很有希望的东西,特别是如果你处理不同版本的 Python,那么Pyflow应该很有趣。以 Poetry 为例,添加漂亮的 Python 版本管理,向conda致敬,然后用Rust编写整个东西,它看起来有点像 Pyflow。时间会证明 Pyflow 是否成熟并获得社区认可;现在,我喜欢每隔一段时间就试一试。

安装 Pyflow

要安装 Pyflow,请转到Pyflow 发布页面,然后下载并安装适合您平台的软件包。有关更多详细信息,请参阅Pyflow 的安装说明

与 Pyflow 的虚拟环境交互

要使用 Pyflow 创建新的虚拟环境,首先创建项目:

pyflow new my_project

Pyflow 的一个独特之处:它会提示您输入 Python 版本。此外,如果您指定一个尚未安装的版本,它会以相当快速的方式为您安装它(不像pyenv那样从头开始编译)。

然后将该新目录设为当前工作目录。

cd my_project

第一次需要虚拟环境时,会自动创建。

在虚拟环境中启动 Python:

pyflow python

实际上,您可以使用pyflowcommand. 这是pyflow runcommand.

据我所知,没有一种特定于 Pyflow 的激活虚拟环境的方法。您可以像这样深入了解已安装的虚拟环境:

._pypackages_\3.8.venv\Scripts\Activate.ps1

那是Windows Powershell。对于 Mac 或 Linux:

source ./pypackages/3.8/.venv/bin/activate

但是,我有预感这不是 Pyflow 的预期用途。相反,使用pyflow_command_or运行所有内容pyflow python

使用 Pyflow 安装包

与许多其他工具一样,您不使用 Pyflowpip install来安装包。相反,pyflow install将在虚拟环境中安装包,并将它们添加到pyproject.toml.

pyflow install arrow

这将安装箭头包。

您可能会看到各种其他带有pyflow help.

pyenv-virtualenv


如果您想用来virtualenv管理虚拟环境并同时处理多个 Python 版本,pyenv-virtualenv可能适合您。

未经请求的建议pyenv-virtualenvpyenv除非您确定确实需要它,否则不要使用(或任何其他 Python 版本管理工具)。pyenv不适用于管理虚拟环境。它管理多个版本的 Python。pyenv但是,即使您安装了多个版本的 Python ,您也可能不需要。在我的 Fedora 系统上,我只使用python3.6,python3.9等,它就可以工作。在 Windows 上,py -3.8工作py -3.7得很好。换句话说,pyenv在假设它解决了您尚未解决的任何问题之前,请仔细查看您的需求和使用情况。值得庆幸的是,如果您需要它,它就在那里。但是,如果您不这样做,请将其添加为书签以备后用,并继续愉快地编写代码。

更多不请自来的建议pyenv-virtualenv 如果您正在寻找 Python 版本和虚拟环境管理的组合,Pyflow更年轻、更时髦,而且肯定比 更快。pyenv-virtualenv不过,可能没有经过实战考验。Conda是另一种带有内置 Python 版本管理的选项。

pyenv-virtualenv 安装

pyenv-virtualenv是一个插件pyenv,所以这是一个先决条件。

要安装pyenv,请按照官方说明或仅使用自动安装程序。自动安装程序只是curl https://pyenv.run | bash

pyenv在 Windows 上不起作用。有一个 Windows 分支pyenv;但是,它似乎pyenvpyenv-virtualenv.

如果您没有使用自动安装程序,请pyenv-virtualenv按照官方pyvenv-virtualenv 说明手动安装插件。不过,一个快速提示:git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

与虚拟环境交互 pyenv-virtualenv

要使用 来创建新的虚拟环境pyenv-virtualenv,请尝试以下操作:

pyenv virtualenv 3.8.5 venv38

这将在当前目录中创建一个虚拟环境。环境中的 Python 版本将是 3.8.5,虚拟环境将有一个别名“venv38”。

如果您不确定可以pyenv使用哪些 Python 版本,请尝试

pyenv versions

和/或

pyenv install –list

看看有哪些版本,让你可以pyenv install一个。

成功创建虚拟环境后,它应该会显示在列表中:

pyenv virtualenvs

每个虚拟环境都有两个条目,一个长的,一个短的别名。

要手动激活虚拟环境,您可以使用短别名:

pyenv activate venv38

要停用:

pyenv deactivate

请注意,它确实提供了一个可选功能,当您进入一个包含有效虚拟环境名称的文件的目录pyenv-virtualenv时,它会自动激活虚拟环境。根据您的使用模式,这可能非常巧妙或非常烦人。请参阅安装说明为您的 shell 激活此功能。如果您使用了自动安装程序并按照其说明进行操作,则可能已经启用。cd``.python-version

一旦您处于激活的虚拟环境中,您可以按照pip上述venv说明安装软件包。

pyenv help您可能会找到一些有关和的命令行帮助pyenv help virtualenv

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

lp virtualenv`。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-mK2a7ivN-1713803406113)]

[外链图片转存中…(img-kdicJyqq-1713803406114)]

[外链图片转存中…(img-11EX9CGU-1713803406115)]

[外链图片转存中…(img-8dga0xyb-1713803406115)]

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值