寻找用于管理 Python 环境的跨平台(Linux、MacOS、Windows)工具

Looking for a cross-platform (Linux, MacOS, Windows) tool for managing Python environments

我正在研究 CI/CD 的 Anaconda 环境的使用(因为据我所知,它是唯一支持 Linux、MacOS 和 Windows 的平台)。我尝试使用 Miniconda,它应该只安装最低限度的。但是,我意识到,默认情况下,Miniconda 毕竟不是 "mini"。例如,如果我尝试创建一个新的 Python 环境 (conda create -n py36 python=3.6 anaconda),它将安装一堆不需要的东西,如 JupyterLab 和其他。因此,在转向 pyenv(对于 Linux 和 MacOS)和 pyenv-win(对于 Windows)之前,我想问:

谢谢。

你想要虚拟环境:https://virtualenv.pypa.io/en/latest/

$ virtualenv env --python "[path to python version]"

这将从您在上一个命令中选择的 python 基础在名为 'env' 的文件夹中创建一个环境。除了 pip 和其他一些核心软件包外,不会安装其他软件包。

然后您需要 'activate' 环境 - 这会根据操作系统而变化。对于 windows;

$ env\Scripts\activate

然后您将看到命令提示符;

(env) $

显示它已激活。然后,您可以像往常一样使用 pip install 将您需要的任何要求安装到该环境中(它们将位于 env 文件夹中)。离开环境;

(env) $ deactivate

您可以根据需要拥有多个,并定义不同的 python 版本和要求。请记住在安装软件包之前 activate 环境。

仅通过

安装python及其依赖项
conda create -n py36 python=3.6

没有 anaconda 包。

详细说明

conda create -n py36 python=3.6

  • conda create -n py36,创建一个环境,实际上是一个空文件夹
  • python=3.6,已将 python 3.6 安装到此环境中

conda是一个包管理器,pythonanaconda都是可以被它安装的包。

与包 python 不同,anaconda 是一个 元包 ,它 不包含实际软件,只是依赖于其他包待安装.

下载 anacondahere 并从中提取内容。实际要安装的包在 info/recipe/meta.yaml.

中列出
package:
    name: anaconda
    version: '2019.07'
build:
    ignore_run_exports:
        - '*'
    number: '0'
    pin_depends: strict
    string: py37_0
requirements:
    build:
        - python 3.7.3 h8c8aaf0_1
    is_meta_pkg:
        - true
    run:
        - alabaster 0.7.12 py37_0
        - anaconda-client 1.7.2 py37_0
        - anaconda-project 0.8.3 py_0
        # ...
        # about 260 packages in total