在 ubuntu 20 上为 python-3.8 创建 virtualenv 的盐状态

问题描述 投票:0回答:1

以下

repo-install.sls
曾经在ubuntu 16,python 3.5上工作

repo-install-dependencies:
    pkg.installed:
        - names:
            - python3-pip
            - python3-venv
            - mercurial
            - git
            - subversion

bin_env:
    virtualenv.managed:
        - name: {{ bin_env }}
        - pip_pkgs: 
            - pip
            - setuptools
        - require:
            - pkg: repo-install-dependencies
        - venv_bin: "/usr/bin/pyvenv"

在新的 Ubuntu 20 服务器上,我尝试使用

salt 3002.2
来实现上述功能。我知道在 python 3.8 上不推荐使用 pyvenv,建议使用
python3 -m venv <dirname>
创建虚拟环境。

我的问题是,如何设置 bin_env?

virtualenv.managed
仍然相关吗?如果是的话,我们如何让它在Python发行版中选择venv?或者我们应该使用自定义函数,如下所示?

bin_env:
    cmd.run:
        - name : python3 -m venv {{ bin_env }}
        - require:
                - pkg: repo-install-dependencies
python-3.x salt-project ubuntu-20.04
1个回答
0
投票

最好的方法是提供您自己的

pyvenv
包装。例如:

/usr/local/bin/pyvenv:
  file.managed:
    - contents:
      - '#!/bin/sh'
      - 'exec python3 -m venv "$@"'
    - mode: '0755'

如果需要,您可以自行添加对多个不同版本的支持。

virtualenv.managed
应默认使用它,或者您可以明确地将
venv_bin
指向它。

© www.soinside.com 2019 - 2024. All rights reserved.