如何将多个 python 脚本混合成一个 shell 脚本?
How to mix several python scripts into a shell script?
我有一个本地存储库,现在我想将它部署到一个 docker 容器中。我想写一个 shell 脚本来处理环境设置。
shell 脚本可能会按顺序执行如下操作:
1.Install 虚拟环境
pip install virtualenv
2.Setup 名为 new-env
的新虚拟环境
virtualenv new-env
3.Enter环境
cd new-env
4.activate
source ./bin/activate
5.Then 我们需要安装我用 pip freeze > requirements.txt
导出的 requirements.txt
的依赖项。请注意,我将此文件放在根目录中。
所以:
pip install -r ../requirements.txt
是否可以将这些 python 脚本混合到一个 shell 脚本中,这样我就可以只使用 sh
脚本进行设置?谢谢。
Ansible is a good choice for this. Its easy to get started and can scale up as your system complexity increases. Please refer to this tutorial。一个使用 ansible 安装 pip、virtualenv 等的 yml
文件可能类似于:
- 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
和您的主机等变量。只需从 github 克隆一个简单的 repo 即可开始。
ansible 的文档非常好。继续在谷歌上搜索您的下一步,您会在这里找到合适的答案。
我有一个本地存储库,现在我想将它部署到一个 docker 容器中。我想写一个 shell 脚本来处理环境设置。
shell 脚本可能会按顺序执行如下操作:
1.Install 虚拟环境
pip install virtualenv
2.Setup 名为 new-env
virtualenv new-env
3.Enter环境
cd new-env
4.activate
source ./bin/activate
5.Then 我们需要安装我用 pip freeze > requirements.txt
导出的 requirements.txt
的依赖项。请注意,我将此文件放在根目录中。
所以:
pip install -r ../requirements.txt
是否可以将这些 python 脚本混合到一个 shell 脚本中,这样我就可以只使用 sh
脚本进行设置?谢谢。
Ansible is a good choice for this. Its easy to get started and can scale up as your system complexity increases. Please refer to this tutorial。一个使用 ansible 安装 pip、virtualenv 等的 yml
文件可能类似于:
- 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
和您的主机等变量。只需从 github 克隆一个简单的 repo 即可开始。
ansible 的文档非常好。继续在谷歌上搜索您的下一步,您会在这里找到合适的答案。