如何将几个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下一步,你会发现在这里体面的答案。
- 为什么docker-compose需要为exec命令编写文件?
- Dockerfile:如何用build-arg的replace环境variables中的占位符?
- 在docker容器中安装openssh-server,g ++,gdb和gdbserver Visual C ++ for Linux Development + Docker
- 简单的脚本需要删除超过4周的所有docker图像
- Docker入口与REST API调用make守护进程
- 用docker启动oracle:“TNS:listener:所有适当的实例阻塞新的连接”错误
- 在bash中防止请求太快
- docker上的Nginx – 守护进程并附加到bash中
- Bash多个端口映射取决于脚本参数