Venv

在前几个月Arch改变了的Python包管理方式,在使用pip安装python包是会警示

$ pip install django
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try 'pacman -S
    python-xyz', where xyz is the package you are trying to
    install.

    If you wish to install a non-Arch-packaged Python package,
    create a virtual environment using 'python -m venv path/to/venv'.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip.

    If you wish to install a non-Arch packaged Python application,
    it may be easiest to use 'pipx install xyz', which will manage a
    virtual environment for you. Make sure you have python-pipx
    installed via pacman.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification

意思是:

错误:外部管理环境

× 此环境是由外部管理的
╰─> 若要系统范围安装 Python 包,请尝试 'pacman -S python-xyz',其中 xyz 是你要安装的包。

   如果你希望安装非 Arch 打包的 Python 包,请使用 'python -m venv path/to/venv' 创建一个虚拟环境。然后使用 path/to/venv/bin/python 和 path/to/venv/bin/pip。

   如果你希望安装非 Arch 打包的 Python 应用程序,最简单的方法可能是使用 'pipx install xyz',它将为你管理一个虚拟环境。确保你已经通过 pacman 安装了 python-pipx。

注意:如果你认为这是一个错误,请联系你的 Python 安装或操作系统发行商。你可以通过使用 --break-system-packages 来覆盖此设置,但这可能会破坏你的 Python 安装或操作系统。

提示:查看 PEP 668 获取详细规范。

因此开始使用Venv和Conda

Venv

使用 Python 的 venv 模块可以创建和管理虚拟环境。虚拟环境是一个独立的、隔离的 Python 环境,允许你在其中安装包,而不会影响系统的全局 Python 环境。

以下是使用 venv 模块创建和激活虚拟环境的基本步骤:

 在命令行中创建虚拟环境

创建虚拟环境:

  在命令行中,使用以下命令创建一个名为 `myenv` 的虚拟环境(你可以替换为你喜欢的名称):

python -m venv myenv

  这将在当前目录下创建一个名为 `myenv` 的虋拟环境。

激活虚拟环境:

  在 Windows 上,使用以下命令激活虚拟环境:

myenv\Scripts\activate

  在 macOS 和 Linux 上,使用以下命令激活虚拟环境:

source myenv/bin/activate

  一旦虚拟环境激活,命令行提示符会显示虚拟环境的名称,表明你正在使用虚拟环境。

 在虚拟环境中安装和使用包

在激活虚拟环境后,你可以使用 `pip` 来安装和管理包,例如:

pip install package_name

 退出虚拟环境

当你完成了在虚拟环境中的工作时,可以使用以下命令退出虚拟环境:

deactivate

这些是创建和使用 Python 虚拟环境的基本步骤。使用虚拟环境可以帮助你在不同项目中隔离包的安装,避免包冲突,并且更容易管理项目的依赖关系。

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录