【问题标题】:How to get python 2.7.3 in virtualenv instead of python 2.7.1?如何在 virtualenv 中获取 python 2.7.3 而不是 python 2.7.1?
【发布时间】:2013-01-11 19:26:22
【问题描述】:
我在我的 mac OS X 上安装了 python 2.7.3。
$蟒蛇--版本
Python 2.7.3
然后我创建了一个虚拟环境:
$ virtualenv 1stVirtualenv
现在python版本是2.7.1
我在网上搜索了一些人建议使用 -p 选项,所以我尝试了这个
virtualenv -p /usr/bin/python2.7 2ndVirtualenv
还是2.7.1
我找不到解决此问题的任何答案。欢迎提出任何建议。
【问题讨论】:
标签:
python
macos
virtualenv
【解决方案1】:
/usr/bin 中的 python 文件是指向/System/Library/Frameworks/ 中 python 二进制文件的链接。运行/usr/bin/python2.7 --version 将返回系统python 的版本:2.7.1。 /usr/bin/pythons 是 Apple 控制的,不要管它们。
运行此程序以确定您的 2.7.3 版本的 Python 所在的位置:
$ which python
/usr/local/bin/python
然后使用任何返回的路径作为 virtualenv 的 p 标志的参数:
$ virtualenv --distribute -p /usr/local/bin/python ~/virtualenvs/venv
Running virtualenv with interpreter /usr/local/bin/python
New python executable in virtualenvs/venv/bin/python
【解决方案2】:
这是让 Python 和您的 virtualenvs 快速启动和运行的一种快速简便的方法:
- Install Homebrew
- 使用
brew install python 安装 Python 2.7.3
pip install virtualenv
-
/usr/local/share/python/virtualenv --distribute ~/virtualenvs/venv
-- 你将使用 virtualenv,所以你不需要更新你的 PATH
source ~/virtualenvs/venv/bin/activate
我相信 virtualenv 默认使用它安装的任何版本的 python。使用 Homebrew 的 Python 意味着不用担心哪个版本指向哪里。
为方便起见,您可能希望从 shell 的登录配置(bashrc、配置文件等)中调用 source ~/virtualenvs/venv/bin/activate。