Virtualenv创建了一个文件夹,但结果却不是我想要的

时间:2017-10-13 14:11:43

标签: python django virtualenv

我通过virtualenv命令创建了一个文件夹,但结果不是我想要的。

[root@localhost opt]# virtualenv my_env
New python executable in /opt/my_env/bin/**python2.6**
Also creating executable in /opt/my_env/bin/python
Installing setuptools, pip, wheel...done.

我的系统是CentOS 6.5。在我创建文件夹之前,我将python 2.6升级到python 3.6。然后我想创建一个孤立的环境来练习Django。不幸的是,该文件夹有python 2.6,它应该是python 3.6。 有人能告诉我发生了什么吗?

4 个答案:

答案 0 :(得分:3)

  

我将python 2.6升级到python 3.6

在Python世界中,Python 2和Python 3是两回事。所以你实际做的是安装Python 3和Python 2.现在你的系统既有Python 2(可以通过命令python运行),也有Python 3(可以通过命令{{1运行) }})

所以当你运行python3时,它会在CentOS 6.x中解雇默认的Python解释器,即Python 2。这就是你的虚拟环境中Python 2.6的原因。

使用Python 3设置虚拟环境

要在虚拟环境中运行Python 3解释器:

virtualenv my_env

答案 1 :(得分:1)

你可以选择python3 -m venv env 无需virtualenv

你做了什么

virtualenv my_env

正在调用python2 virtualenv命令来准备python2环境。

此外,你应该看看 Pipenv

答案 2 :(得分:0)

您是否尝试使用-p选项?如:

$ virtualenv -p /usr/bin/python3.5 venv

答案 3 :(得分:-1)

由于你在Linux上并且许多程序将开始使用python3作为默认值,你可以为python2和3创建别名,以便在系统中虚拟地将默认python切换为python3。为此,只需将这些行添加到~/.bashrc~/.bash_aliases文件中:

alias python='/usr/bin/python3'
alias python2='/usr/bin/python'

这样可以轻松使用最新的Django版本,同时不会破坏任何当前的python程序。它很容易撤消。 脚本可以从#!/usr/bin/python3#!/usr/bin/python开始,分别直接使用python3或python2。