2017-02-24 92 views
0

有沒有辦法解決的PIP模塊無法找到正確的Python版本?問題的關鍵似乎是virtualenv_pythonAnsible - Virtualenv可執行文件嘗試python3.5時沒有找到

- name: Create venv and install requirements 
    pip: 
    requirements: /home/admin/dev/python/filepro/requirements.txt 
    virtualenv: /home/admin/venvs/filepro 
    virtualenv_python: python3.5 
    tags: 
    - venv 

錯誤:

Error message: 
FAILED! => {"changed": false, "failed": true, "msg": "Failed to find required executable virtualenv"} 

/usr/bin/python3.5就是蟒蛇3.5是,我使用Ansible 2.2.1.0

回答

2

首先virtualenv中工作,你需要確保的virtualenv安裝的Python你的版本打算使用。你可以做到這一點之前,通過運行PIP模塊:

- name: Install virtualenv via pip 
    pip: 
    name: virtualenv 
    executable: pip3 

如果你不想(或不能)安裝virualenv爲根這樣做,Ansible將無法收拾的virtualenv可執行文件。您可以手動添加到PATH環境變量:

 
- name: Create venv and install requirements 
    pip: 
    requirements: /home/admin/dev/python/filepro/requirements.txt 
    virtualenv: /home/admin/venvs/filepro 
    virtualenv_python: python3.5 
    tags: 
    - venv 
    environment: 
    PATH: "{{ ansible_env.PATH }}:{{ ansible_user_dir }}/.local/bin" 

或者,您也可以安裝vitualenv作爲根用戶:

- name: Install virtualenv via pip 
    pip: 
    name: virtualenv 
    executable: pip3 
    become: yes 
    become_user: root 
+1

還要確保您有最新的ansible,因爲在2.2.0有pip模塊中的一個bug,2.2.0之後的任何東西都像魅力一樣。 – Kyslik

0

的問題是,virtualenv中未安裝的須藤。

請糾正我,如果我錯了,但似乎是得到PIP模塊與您需要運行sudo pip install virtualenv

相關問題