将virtualenv从3.5.3下调至2.7

时间:2017-02-14 08:39:25

标签: python django python-2.7 virtualenv pyvenv

我的virtualenv目前配置为python 3.5.0,而我需要使用的软件包仅支持2.7。我需要一种在我的virtualenv中将我的python运行时降级到2.7的方法。

我确实可以使用这两个版本: 第一个是我的virtualenv,第二个是计算机范围。

(project) me-Air:element me$ python -V
Python 3.5.0

me-Air:element me$ python -V
Python 2.7.10

3 个答案:

答案 0 :(得分:3)

你不能"降级"的virtualenv。

您必须创建一个新的,除非您希望virtualenv与您当前的名称相同,否则您不一定需要删除当前的名称。

virtualenv -p /usr/bin/python2.7 <path/to/new/virtualenv/>

由于您的问题需要集成它们,因此有许多方法可以实现,使用subprocess使用Python 2.7代码执行您需要的任何操作,并将输出传输回Python 3代码。

您还可以使用Rabbit MQ Queues与运行不同版本Python的程序之间传输数据。

答案 1 :(得分:1)

将virtualenv固定到特定Python版本的另一种方法是通过Python可执行文件上的-m标志运行它。 E.g。

python2 -m virtualenv ./venv

同样,如果你想要一个Python 3 virtualenv,你可以运行它:

python3 -m virtualenv ./venv

答案 2 :(得分:1)

我发现的最好的作品之一是使用“ pyenv” 通过使用pyenv使较低的版本成为您的全局版本 然后创建目录,进入内部,使用下面的方法创建一个virtualenv

您可以这样使用:

$ python3.7 -m venv env

之后,激活环境:

$ source env/bin/activate

然后:

$ which python
  • 您可以将pyenv设置为根级别,实际上,如果您使用brew或其他工具搜索安装pyenv,则会发现

输出显示python代码的位置。

复制它们并将其粘贴到升级时遇到问题的最后一个目录。

我的问题: 我将python升级到了最新版本(3.8.5),但是不幸的是,jupyter-lab和pip无法正常工作,所以9个小时后我做到了,而且可以正常工作,

我们抛出的话题:

安装pyenv:

$brew install pyenv

使其根如下:

$ PATH=$(pyenv root)/shims:$PATH
$ echo 'PATH=$(pyenv root)/shims:$PATH' >> ~/.zshrc 

安装python版本:

$ pyenv install 3.7.0
$ pyenv install 3.8.5

将低级设置为全局:

$ pyenv global 3.7.0

做virtualenv事情,编码就结束了。进入文件“复制”,进入最后一个目录,然后单击“过去并删除”其中的原始文件。