我编写了一些Ansible剧本来安装python virtualenv,并在开发过程中更新python包并重新启动服务器。我有问题,虽然让pip更新一个包。我真的不在乎这是怎么做的,但我更希望在开发过程中在virtualenv中将路径添加到python路径,然后重新启动服务器,但我还没有找到在Ansible中如何做到这一点。
因此,我的问题是如何设置本地git repo,它要么安装到virtualenv的站点包中,要么设置为Ansible to sys.path.insert the location of the repo using the correct virtualenv。
目前我正在尝试:
sudo pip install ~/workspace/python-repo
在安装包之前,我将一个类从Authenticator重命名为完全错误的Authen。类在新安装期间显示Authen。然后我将类名改回正确的名称(Authenticator),修改版本并运行
sudo pip install ~/workspace/python-repo --upgrade
但是在检查了站点包中的实际文件之后,它仍然显示Authen名称,而不是更新的文件。
我如何做到这一点,以便在开发期间使用本地repo,并在我的环境中获取即时更新的文件?以及通过Ansible使这成为一个可重复的过程。
这是我在Ansible的工作。我的第一个剧本是建立环境,我只想运行一次。
- name: Install python-repo
local_action: pip name=${python_root}
virtualenv=${working_dir}/development
${python_root}只是python项目的位置,当然工作目录是新的virtualenv设置。
然后不知何故,我想要一个开发剧本来更新virtualenv中的python repo。这是我目前所掌握的,但也不管用。
- name: Update python-repo
local_action: pip name=${python_root}
virtualenv=${working_dir}/development
state=latest
- name: Restart services.
local_action: service name=${item} state=restarted
with_items: ${services}
我要把这个作为正确的答案贴出来,让其他人都可以参考。
目前,我有一个Ansible剧本,通过安装本地python包,然后创建一个virtualenv并将所有内容安装到其中进行开发,来建立一个环境。首先,在设置virtualenv并将本地git repo安装到ansibe中使用这些任务的环境中。
现在我开始开发,当我准备好测试并运行它时,我使用另一个Ansible play部署本地更改。我用这些任务。
这将立即接受python更新并重新启动服务器。我在php开发环境中花了很长时间来思考这个问题,只需要按F5接受更改。我想要一个良好的python开发环境,我认为这是一个可以接受的过程。
相关问题 更多 >
编程相关推荐