Ansible Venv 激活权限被拒绝 Django CMS
Ansible Venv Activate Permission Denied Django CMS
我正在扮演一个角色来安装一个干净的 Django CMS 实例,当我试图激活我安装的虚拟环境时,我遇到了一个权限错误,我已经读过,有时这可能是在用不同的环境创建环境时引起的当您尝试激活它时的权限。在这两种情况下,我都尝试过使用和不使用 root sudo。
我正在使用 Ubuntu/Trusty64
盒子。
这是我从我的任务中得到的错误:
TASK [dependancies : Activate Venv] ********************************************
fatal: [default]: FAILED! => {"changed": false, "cmd": ". env/bin/activate", "failed": true, "msg": "[Errno 13] Permission denied", "rc": 13}
这是我的角色文件:
---
- name: Update apt-get
become: yes
apt:
update_cache: yes
- name: Install Packages
apt:
name: "{{ item }}"
with_items:
- nginx
- python3
- python-pip
- nodejs
- git
- python-passlib # for htpasswd
- postgresql
- libpq-dev # for postgresql
- python-psycopg2 # for postgresql
- ansible # to run ansible-pull
become: yes
- name: Install Python Libraries
pip:
name: "{{ item }}"
executable: pip
become: yes
with_items:
- virtualenv
- awscli # for backups
- name: Create Venv
command: virtualenv env
args:
creates: env/bin/activate
- name: Activate Venv
command: . env/bin/activate
- name: Install Django-CMS Insaller
pip:
name: djangocms-installer
executable: pip
- name: Create Folder
file: path=django state=directory
- name: Create Django CMS
command: djangocms -s -p . testSite
args:
chdir: django
become: yes
如有任何建议,我们将不胜感激。
你一开始就不应该这样做!
使用带有 virtualenv
参数的 pip
包。如果你还想激活。请参阅 this SO question 中的示例。
如果您仍想在 shell 中激活虚拟环境,您应该使用 shell
模块(而不是 command
!)以使 source bin/activate
工作。 source
和 .
是 bash 内置函数,因此 command
模块无法执行它们。
我正在扮演一个角色来安装一个干净的 Django CMS 实例,当我试图激活我安装的虚拟环境时,我遇到了一个权限错误,我已经读过,有时这可能是在用不同的环境创建环境时引起的当您尝试激活它时的权限。在这两种情况下,我都尝试过使用和不使用 root sudo。
我正在使用 Ubuntu/Trusty64
盒子。
这是我从我的任务中得到的错误:
TASK [dependancies : Activate Venv] ********************************************
fatal: [default]: FAILED! => {"changed": false, "cmd": ". env/bin/activate", "failed": true, "msg": "[Errno 13] Permission denied", "rc": 13}
这是我的角色文件:
---
- name: Update apt-get
become: yes
apt:
update_cache: yes
- name: Install Packages
apt:
name: "{{ item }}"
with_items:
- nginx
- python3
- python-pip
- nodejs
- git
- python-passlib # for htpasswd
- postgresql
- libpq-dev # for postgresql
- python-psycopg2 # for postgresql
- ansible # to run ansible-pull
become: yes
- name: Install Python Libraries
pip:
name: "{{ item }}"
executable: pip
become: yes
with_items:
- virtualenv
- awscli # for backups
- name: Create Venv
command: virtualenv env
args:
creates: env/bin/activate
- name: Activate Venv
command: . env/bin/activate
- name: Install Django-CMS Insaller
pip:
name: djangocms-installer
executable: pip
- name: Create Folder
file: path=django state=directory
- name: Create Django CMS
command: djangocms -s -p . testSite
args:
chdir: django
become: yes
如有任何建议,我们将不胜感激。
你一开始就不应该这样做!
使用带有 virtualenv
参数的 pip
包。如果你还想激活。请参阅 this SO question 中的示例。
如果您仍想在 shell 中激活虚拟环境,您应该使用 shell
模块(而不是 command
!)以使 source bin/activate
工作。 source
和 .
是 bash 内置函数,因此 command
模块无法执行它们。