【问题标题】:Virtualenv created a folder, but the result its not I wanted [duplicate]Virtualenv 创建了一个文件夹,但结果不是我想要的 [重复]
【发布时间】:2018-03-25 16:57:12
【问题描述】:

我通过 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 个空格来格式化错误。

标签: python django virtualenv


【解决方案1】:

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

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

【讨论】:

  • 我试过了,它有效。谢谢你们!
【解决方案2】:

我将我的 python 2.6 升级到 python 3.6

在 Python 世界中,Python 2 和 Python 3 是两个不同的东西。因此,您实际上所做的是将 Python 3 与 Python 2 一起安装。现在您的系统既有 Python 2(可以通过命令 python 运行)也有 Python 3(可以通过命令 python3 运行)

因此,当您运行 virtualenv my_env 时,它会触发默认的 Python 解释器,即 CentOS 6.x 中的 Python 2。这就是在您的虚拟环境中使用 Python 2.6 的原因。

使用 Python 3 设置虚拟环境

要在您的虚拟环境中获取 Python 3 解释器,请运行:

virtualenv -p python3 my_env

【讨论】:

  • 它有效,我很感激!
【解决方案3】:

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

你做了什么

virtualenv my_env

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

此外,你应该看看 Pipenv

【讨论】:

  • 我是编程新手!谢谢你的帮助,我很感激你。
【解决方案4】:

由于您在 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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    相关资源
    最近更新 更多