如何将几个Python脚本混合到一个shell脚本中?
我有一个本地存储库,现在我想将其部署到docker集装箱。 我想编写一个shell脚本来处理环境的设置。
shell脚本可能会按如下顺序做这样的事情:
1.安装virtualenv
pip install virtualenv
2.build立一个名为new-env
的新虚拟环境
virtualenv new-env
3.进入环境
cd new-env
4.activate
source ./bin/activate
5.然后,我们需要安装依赖关系,使用pip freeze > requirements.txt
输出的pip freeze > requirements.txt
。 注意我把这个文件放在根目录下。
所以:
pip install -r ../requirements.txt
是否有可能将这些python脚本混合成一个shell脚本,以便我可以使用sh
脚本进行设置? 谢谢。
Ansible是一个很好的select。 它容易上手,随着系统复杂性的增加可以扩展。 请参阅本教程 。 一个简单的yml
文件安装pip,virtualenv等ansible可能看起来像这样:
- name: download pip get_url: url=https://bootstrap.pypa.io/get-pip.py dest=/tmp - name: install pip command: "python /tmp/get-pip.py" - name: Install virtualenv pip: name=virtualenv - name: Create virtualenv path file: path={{ virtualenv_path }} state=directory - name: Install pip packages under virtualenv pip: requirements=/home/user/pip_list.txt virtualenv={{ virtualenv_path }} tags: packages
还有一些样板设置来定义像virtualenv_path
和您的主机等variables。只需从github克隆一个简单的回购来开始。
文件是相当不错的。 只要继续search下一步,你会发现在这里体面的答案。