有没有办法用 pip 安装 django 以指向 virtualenv 中 python 的特定版本
Is there a way to install django with pip to point to a specific version of python in virtualenv
我有一个安装了 CentOS 的系统。当前 运行s python2.6,但 python2.7 也已安装。
我想要 运行 django 1.7,目前也已安装。如果我 运行 django 在 virtualenv 之外,它默认使用 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 解释器。解释器是 运行ning 2.7,如果我导入 django,一切正常。但是一旦我 运行
django-admin.py startproject project_name
恢复使用 2.6。
在您激活的 virtualenv 中像这样 python django-admin.py
调用 django-admin.py。或者你可以做 /path/to/virtualenv/bin/python django-admin.py
。
最好的解决方案可能是向 django-admin.py 添加一个看起来像 #!/usr/bin/env python
的 shebang,它应该使用活动 virtualenv 的 python 解释器。参见
您可以使用 pyenv, which will allow you to set your Python interpreter based on what directory you're in. I also use it with pyenv-virtualenv,这样我就可以享受按应用程序隔离包的所有好处。
有一点学习曲线,但如果您需要切换 Python 解释器以匹配生产服务器,那么这是值得的。
我有一个安装了 CentOS 的系统。当前 运行s python2.6,但 python2.7 也已安装。
我想要 运行 django 1.7,目前也已安装。如果我 运行 django 在 virtualenv 之外,它默认使用 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 解释器。解释器是 运行ning 2.7,如果我导入 django,一切正常。但是一旦我 运行
django-admin.py startproject project_name
恢复使用 2.6。
在您激活的 virtualenv 中像这样 python django-admin.py
调用 django-admin.py。或者你可以做 /path/to/virtualenv/bin/python django-admin.py
。
最好的解决方案可能是向 django-admin.py 添加一个看起来像 #!/usr/bin/env python
的 shebang,它应该使用活动 virtualenv 的 python 解释器。参见
您可以使用 pyenv, which will allow you to set your Python interpreter based on what directory you're in. I also use it with pyenv-virtualenv,这样我就可以享受按应用程序隔离包的所有好处。
有一点学习曲线,但如果您需要切换 Python 解释器以匹配生产服务器,那么这是值得的。