盐 virtualenv.managed 使用 setup.py

Salt virtualenv.managed using setup.py

我在 setup.py 中有我的 python 包要求,我只是从 setup.py 存在的目录中执行 pip install .。我没有 requirements 文件,我也不想拥有。我如何告诉盐使用 setup.py 而不是 requirements.txt

安装 pip 包到 virtualenv 和 运行ning setup.py 应该是不同的要求。

我假设setup.py 触发仅适用于自服务模块,外部包应放在 saltstack virtualenv setup 下,以便您可以查看所需的外部包是否安装失败。但这也取决于你自己的口味。

为了 运行 setup.py 在你的 virtualenv 中,你必须创建一个调用 virutalenv 的脚本,然后 运行 setup.py ,例如vi 运行-setup.sh

#!/bin/bash
source $HOME/.virtualenv/xyz/bin/activate
cd $HOME/xyz_app
python setup.py 

然后使用状态文件中的cmd.run来运行它

run setup.py for my xyz app :
  cmd_run:
    - name: bash <xyz_app folder name>/run-setup.sh
    - user: <username>
    - group: <groupname>

更新:

因为你想加载特定的 python 包到你的 virtualenv,你可以在安装过程中直接做。然后仅使用 cmd.run 将启动 setup.py 的批处理加载到 virtualenv 中(以使您的自定义应用程序正常工作)。

create-my-apps-virtualenv:
  virtualenv.managed:
    - name: /home/myapphome/.virtualenv/myapp
    - user: myappusername
    - no_chown: False
    # install this pacakge to my virtualenv, package must be case sensitive according. 
    - pip_pkgs: json, MySQL-python,SQLAlchemy