繁体   English   中英

Ansible Venv激活权限被拒绝的Django CMS

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM