0
我有我的python包的要求setup.py
,我只是從setup.py
存在的目錄做pip install .
。我沒有requirements
文件,我不想擁有一個。如何告訴鹽使用setup.py
而不是requirements.txt
?鹽virtualenv.managed使用setup.py
我有我的python包的要求setup.py
,我只是從setup.py
存在的目錄做pip install .
。我沒有requirements
文件,我不想擁有一個。如何告訴鹽使用setup.py
而不是requirements.txt
?鹽virtualenv.managed使用setup.py
將pip包安裝到virtualenv並運行setup.py應該是不同的要求。
我假定setup.py觸發只是自助服務模塊的意思,外部軟件包應該放在saltstack virtualenv設置下,這樣您可以看到所需的外部軟件包是否安裝失敗。但這也取決於你自己的口味。
要在virtualenv中運行setup.py,您必須創建一個調用virutalenv的腳本,然後運行setup.py,例如,六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>
UPDATE:
既然要特別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
有沒有辦法使用'pip.installed'或'virtualenv.managed'來完成它?看起來像一個重要的功能。如果沒有安裝來自'setup.py'的python模塊,那麼似乎沒有從'requirements.txt'安裝軟件包的要求。 – ebnius
好吧,我同意salt.modules開發者的意見,使他們能夠使用niche函數。作爲這些模塊的一部分執行setup.py,恕我直言,是不好的主意,與這些模塊功能無關。 – mootmoot
用'pip install'完成'cmd.run'。謝謝 – ebnius