Python仍使用默认版本而不是Venv

问题描述

我有已经安装了多个Python的Ubuntu:

/usr/bin/python2.7: Python 2.7.5
/usr/local/bin/python3.6: Python 3.6.10
/usr/local/bin/python3.6m: Python 3.6.10

所有人都没有jupyter软件包。

所以我有认命令pip,pip3,pip3.6,python,python3,python3.6 我还安装了venv-安装了jupyter的虚拟环境。 我使用命令激活它:

source /home/me/venv/bin/activate

但是python命令仍使用python2,python3仍使用认的python3

我无法从venv运行python,也无法运行jupyter notebook

如何从env运行python以及如何启动jupyter notebook?


我正在考虑为python链接重写别名,或者可能创建一个新的别名,但是不知道如何...

我可以这样运行: cd主页/我/ venv / bin ./python3

,这里运行正确的python版本(来自venv),我可以在解释器中导入jupyter。但仍然无法在cmd中运行jupyter notebook

解决方法

您可以使用绝对路径或相对路径以及python -m MODULE语法来明确表示要使用的python解释器。

/home/me/venv/bin/python -m pip install notebook
/home/me/venv/bin/python -m jupyter notebook

我不知道为什么activate脚本对您不起作用。它应该将venv bin文件夹放在PATH的前面,这样才能在系统上的其他可执行文件之前找到venv python和其他可执行文件。