盐 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
我在 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