如何强制’mkproject'(virtualenvwrapper)使用python3作为默认值?

我已经在我的bash中添加了以下行,但是mkproject不断创建python 2.7文件夹到虚拟环境中,因此我仍然需要使用-p python3,我不想这样做.

export VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
source /usr/local/bin/virtualenvwrapper_lazy.sh
最佳答案
virtualenvwrapper了解VIRTUALENVWRAPPER_VIRTUALENV环境变量,您需要将其设置为适合您正在使用的python版本的virtualenv.例如:

export VIRTUALENVWRAPPER_VIRTUALENV=virtualenv3

这是必需的,因为virtualenvwrapper将virtualenv作为shell脚本执行(不在命令前面添加python2或python3).

通过这种方式,virtualenv脚本使用其shebang(#!)中定义的解释器执行.

大多数Linux发行版提供两个包:virtualenv2和virtualenv3,每个包含一个脚本:

virtualenv2:

#!/usr/bin/python2
import virtualenv
virtualenv.main()

virtualenv3:

#!/usr/bin/python3
import virtualenv
virtualenv.main()

在Mac上,您使用brew进行python安装.因此将virtualenv脚本复制到两个实例中没有任何问题:vritualenv2和virtualenv3并将shebang更改为正确的python版本.

(你需要为每个python版本通过pip安装virtualenv eggs.)

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...