我的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
答案 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事情,编码就结束了。进入文件“复制”,进入最后一个目录,然后单击“过去并删除”其中的原始文件。