我有一个安装了 CentOS 的系统。目前运行的是python2.6,但是也安装了python2.7。
我想运行 django 1.7,目前也已安装。如果我在 virtualenv 之外运行 django,它默认使用 python2.6。我没有自己安装它。
我认为解决这个问题的方法是创建一个 virtualenv。我已经完成并使用了 --python=python2.7。但是当我创建 virtualenv 并在其中安装一个新的 django 1.7(使用 pip)时,它仍然使用 python2.6 而不是 2.7。
因为我是通过 ssh 来做这一切的,所以我想要一个简单的方法来绕过它(而不是从源代码编译等)。当我在 virtualenv 中使用 pip 安装 django 时,有没有办法指定它使用 python2.7?或者纠正这个问题的正确方法是什么?
这是我所做的:
ssh 进入帐户。
$ mkdir project; cd project
$ virtualenv env --python=python2.7
$ cd env
$ source bin/activate
$ sudo easy_install-2.7 pip
$ pip install django==1.7
然后我进入我的 python 解释器。解释器运行 2.7,如果我导入 django,一切正常。但是我一跑
django-admin.py startproject project_name
它又回到了使用 2.6 的状态。
最佳答案
像这样调用 django-admin.py python django-admin.py
,在你的 activate virtualenv 中。或者你可以做 /path/to/virtualenv/bin/python django-admin.py
。
最好的解决方案可能是向 django-admin.py 添加一个 shebang,它看起来像 #!/usr/bin/env python
应该使用你的事件 virtualenv 的 python 解释器。参见 https://stackoverflow.com/a/2255961/639054
关于python - 有没有办法用 pip 安装 django 以指向 virtualenv 中的特定版本的 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31001448/