[英]Ansible Venv Activate Permission Denied Django CMS
我在安装干净的Django CMS实例时扮演一个角色,尝试激活安装的Virtual Env时遇到权限错误,我读到有时这可能是由于使用不同的权限创建环境而导致的并激活它。 我在两种情况下都尝试过使用root sudo和不使用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
任何建议将不胜感激。
首先,您不应该这样做!
将pip
软件包与virtualenv
参数一起使用。 如果仍然要激活。 请参阅此SO问题中的示例。
如果仍然要在外壳程序内部激活虚拟环境,则应使用shell
模块(不是command
!)使source bin/activate
起作用。 source
和.
是bash内置程序,因此command
模块无法执行它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.