我在setup.py
中有我的python包需求,而我只是从pip install .
存在的目录中执行setup.py
。我没有requirements
文件而且我不想拥有一个文件。如何告诉salt使用setup.py
代替requirements.txt
?
答案 0 :(得分:0)
将pip包安装到virtualenv并运行setup.py应该是不同的要求。
我认为setup.py触发只是自助模块的意思,外部包应该放在saltstack virtualenv设置下,这样你就可以看到所需的外部包是否安装失败。但这也取决于你自己的口味。
要在virtualenv中运行setup.py,您必须创建一个调用virutalenv的脚本,然后运行setup.py,例如: vi run-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