寻找一个跨平台(Linux,MacOS,Windows)工具来管理Python环境



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

  • 有没有办法使用 anaconda/miniconda 设置不同的 python 环境,而无需每次创建新环境时都安装一堆额外的软件包?
  • 有没有其他工具来管理支持 Linux、MacOS 和 Windows 的 python 环境?

谢谢。

仅通过以下方式安装 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是一个元软件包,它不包含实际的软件,只是依赖于要安装的其他软件包

在此处下载anaconda包并从中提取内容。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

you want virtualenv: https://virtualenv.pypa.io/en/latest/

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

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

然后,您需要"激活"环境 - 这会根据操作系统而变化。对于窗户;

$ envScriptsactivate

然后,您将拥有命令提示符;

(env) $

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

(env) $ deactivate

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

最新更新