2017-06-09 94 views
3

我想在vagrant using ansible中设置一个Django项目。我用下面的代码安装pip packages使用ansible而不是pip2来安装pip3包

- name: Setup Virtualenv 
    pip: virtualenv={{ virtualenv_path }} virtualenv_python=python3 requirements={{ virtualenv_path }}/requirements.txt 

我需要使用python3的Django项目,即使我已经明确提到使用python3,这是installing the pip packages via pip2。我已经确保在虚拟机上安装python3。

请帮我通过pip3安装软件包。

+0

是在VM上安装的python3吗? –

+0

@FrédéricHenri是的,它安装在虚拟机上。 – kamayani

+0

@FrédéricHenri请提出建议。 – kamayani

回答

3

尝试使用executable选项。从pip模块doc摘录:

executable(在1.3中加入)

显式可执行文件或路径名执行以用于运行PIP用于Python的特定版本安装在系统中。例如pip-3.3,如果在系统中安装了Python 2.7和3.3,并且您想为Python 3.3安装运行pip。它不能与'virtualenv'参数一起指定(在2.1中添加)。默认情况下,它将采用合适的版本,以供例如可用的Python解释器使用。 python 3上的pip3以及python 2上的pip2或pip。

+1

我将上面的行更改为:'pip: executable = pip3 virtualenv = {{virtualenv_path}} requirements = {{virtualenv_path}}/requirements.txt' Error说:参数是互斥的:['executable','virtualenv '] – kamayani

+0

当我删除virtualenv参数时,它会引发一些其他错误。 – kamayani

+0

我能解决它。非常感谢。 – kamayani