繁体   English   中英

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

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

我正在研究将Anaconda环境用于CI / CD(据我所知,这是唯一支持Linux,MacOS和Windows的平台)。 我试图使用Miniconda,它应该只安装最低限度的组件。 但是,我意识到,默认情况下,Miniconda毕竟不是“ mini”。 例如,如果我尝试创建一个新的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是一个meta软件包 ,它不包含实际的软件,仅依赖于要安装的其他软件包

在此处下载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

您需要virtualenv: https ://virtualenv.pypa.io/en/latest/

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

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

然后,您需要“激活”环境-这取决于操作系统。 对于窗户;

$ env\\Scripts\\activate

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

(env) $

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

(env) $ deactivate

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM