如何在虚拟环境(Ubuntu 18.04LTS)中更改Python解释器?

时间:2020-02-05 09:18:49

标签: python python-venv virtual-environment

到目前为止,我一直在Windows上使用Anaconda,并且可以在选择要使用的确切Python的同时设置环境。例如。 conda create -n myEnvName python=3.7

现在,我想熟悉Ubuntu 18.04 LTS并使用基本的Python环境。

所以我按照以下步骤操作:

  1. 在我的home = ~/.venvPython中创建了文件夹
    • (a)我想我在操作系统上默认已经有2.7和3.6。
    • (b)我不确定,我想我必须这样做sudo apt-get install python3-venv
  2. 在将CD刻录到.venvPython文件夹后,以这种方式创建的环境运行了:python3 -m venv venv1BigDataPgm2
  3. source ~/.venvPython/venv1BigDataPgm2/bin/activate
  4. 命令python --version说:Python 3.6.9

运行whereis Python显示以下内容:

rohit@rohitUb18043LTS:~$ whereis python
python: /usr/bin/python3.6 /usr/bin/python3.6-config /usr/bin/python2.7-config /usr/bin/python3.6m-config /usr/bin/python /usr/bin/python3.6m /usr/bin/python2.7 /usr/lib/python3.8 /usr/lib/python3.7 /usr/lib/python3.6 /usr/lib/python2.7 /etc/python3.6 /etc/python /etc/python2.7 /usr/local/lib/python3.6 /usr/local/lib/python2.7 /usr/include/python3.6 /usr/include/python3.6m /usr/include/python2.7 /usr/share/python /usr/share/man/man1/python.1.gz

我的怀疑: 在创建像 conda 这样的环境时,可以直接指定Python版本吗? 如何将其更改为其他解释器而不是3.6.9? 我必须先手动安装其他Python,然后以某种方式指向它吗?

请指导我。谢谢。 罗希特(Rohit)

4 个答案:

答案 0 :(得分:2)

据我所知venv standard library出现在 Python 3.3 中,并且从未 backport 2.7

venv只能为其自己的解释器版本创建虚拟环境,并且虚拟环境目录不能移动到其他位置或重命名。 Python 3.foo 无法为 Python 3.bar 创建虚拟环境。因此,最好从一开始就选择想要的口译员。

由于whereis python的输出显示,您似乎已经安装了多个Python解释器,因此您应该能够执行以下操作:

$ /path/to/python3.3 -m venv /path/to/my/venvs/venv33
$ /path/to/python3.8 -m venv /path/to/my/venvs/venv38

似乎有一种方法可以更改与虚拟环境相关联的Python解释器(我没有测试过,不确定有什么限制):

$ /path/to/python3.8 -m venv --upgrade /path/to/my/venvs/venv33

或者使用virtualenv,它似乎提供了更多的灵活性,但效率可能较低(不过其下一个主要版本virtualenv 20应该带来很多改进)。

答案 1 :(得分:1)

通常,当我在Linux上并且不需要特定的python3版本时,我会创建本机python3环境。

python3 -m venv myenv
source myenv/bin/activate

但是,如果我需要特定的python3版本,我可以这样做:

python3.9 -m venv myenv
source myenv/bin/activate

要在本机环境中使用特定的python3版本,您必须使用本机软件包管理器(例如apt)安装该版本。

答案 2 :(得分:0)

Ubuntu和其他基于Debian的系统通常会发布最新的Python版本,并在发布该版本时认为已经过充分测试;之后,仅发布保留版本号但添加补丁的安全更新(因此您可能会获得3.6.9-123security4而不是3.6.9-5或剪切发行版本时的最新信息)。

如果您想在其中一个平台上运行特定的Python版本,请查看是否可以找到为您的系统提供该版本的Apt源(​​Ubuntu拥有各种声望的非正式PPA的软肋; Debian具有{{ 1}}),也可以自己从源代码安装它。有backports之类的附加组件,使您可以轻松,安全且透明地执行此操作。

可能还存在一个现有软件包,可为您提供特定的较新版本;例如,您可以在Ubuntu 18.04上执行pyenvapt install python3.7,但没有适用于3.5或3.9的软件包。尝试apt install python3.8来查看Ubuntu软件包档案中提供的特定次要版本。

答案 3 :(得分:0)

一种替代方法是在运行脚本时始终指定希望使用的python版本。

apt-get install --yes --no-install-recommends curl git  && \
相关问题