【python虚拟环境管理】【mac m3】 使用pipx安装poetry

官网文档:https://python-poetry.org/docs/
pipx介绍文档:https://blog.51cto.com/u_15064632/2570626

一. 安装 pipx

pipx 用于全局安装 Python 命令行应用程序,同时在虚拟环境中对它们进行隔离。当用于安装 Poetry 时,pipx 将负责管理升级和卸载Poetry的操作。

pipx 是安装并运行 Python 终端用户应用(end-user applications)的工具。

在这里插入图片描述

安装步骤如下
1. brew install pipx

brew install pipx


如果没有报错则省略
报错:
Error: unknown or unsupported macOS version: :dunno

解决:如下命令。重置并更新 Homebrew 的本地仓库信息。
brew update-reset 

再执行
brew install pipx

  1. 确保 pipx 管理的应用程序安装路径被正确地添加到系统的 PATH 环境变量中。
pipx ensurepath
  1. 安装到全局环境中
### 使用 `pipx` 安装 `pytest` 并避免 `externally-managed-environment` 错误 #### 背景说明 当尝试在一个由包管理器(如 `pacman`, `apt`, 或其他系统级工具)维护的环境中安装 Python 包时,可能会遇到 `This environment is externally managed` 的错误提示。这是因为当前环境被外部工具严格控制,不允许直接修改其内容[^1]。 为了规避这一问题并实现独立于系统环境的包管理,推荐使用虚拟环境或专门设计用于隔离应用及其依赖的工具——例如 `pipx`。 --- #### 解决方案:通过 `pipx` 安装 `pytest` ##### 什么是 `pipx` `pipx` 是一种轻量级工具,旨在帮助用户安全地安装和运行 Python 应用程序而不污染全局环境。它会自动创建一个虚拟环境来存储目标应用程序及其依赖项,并提供便捷的方式调用这些工具。 ##### 步骤解析 1. **确认已安装 `pipx`** 如果尚未安装 `pipx`,可以通过以下命令完成安装: ```bash python -m pip install --user pipx ``` 随后将其路径添加到系统的 PATH 中: ```bash export PATH="$PATH:$HOME/.local/bin" ``` 2. **验证 `pipx` 是否可用** 运行以下命令以测试 `pipx` 是否成功配置: ```bash pipx --version ``` 3. **使用 `pipx` 安装 `pytest`** 执行如下命令即可安装 `pytest` 及其所需依赖至单独的虚拟环境中: ```bash pipx install pytest ``` 4. **运行 `pytest`** 成功安装后,可以直接通过命令行调用 `pytest`: ```bash pytest --version ``` 由于 `pipx` 自动处理了虚拟环境的设置与隔离工作,因此可以有效避开 `externally-managed-environment` 报错问题[^1]。 --- #### 可能性分析 采用 `pipx` 方案具有以下几个优势: - **环境隔离** 每个通过 `pipx` 安装的应用都会拥有专属的虚拟环境,从而减少不同项目间潜在冲突的风险。 - **简化操作流程** 用户无需手动创建、激活以及管理多个虚拟环境;所有复杂过程均由 `pipx` 处理完毕。 - **增强安全性** 不会对系统范围内的 Python 环境造成任何更改,保障整体稳定性的同时也便于后续卸载清理。 然而需要注意的是,在某些极端情况下(比如主机完全禁用了用户空间执行权限),即使借助像 `pipx` 这样的解决方案也可能无法正常运作。不过对于绝大多数常规场景而言,此方法应当能够满足需求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值