无法在 Ubuntu 20.04 上使用 Python 3.8.10 创建虚拟环境

无法在 Ubuntu 20.04 上使用 Python 3.8.10 创建虚拟环境

当我输入命令 sudo python3 -m venv venv001 时出现此错误:

The virtual environment was not created successfully because ensurepip is not available.  On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.

    apt install python3.8-venv

You may need to use sudo with that command.  After installing the python3-venv package, recreate your virtual environment.

Failing command: ['/home/mike/venv001/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

因此,我尝试 sudo apt install python3.8-env 并收到错误消息:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3.8-venv : Depends: python3.8 (= 3.8.2-1ubuntu1) but 3.8.10-0ubuntu1~20.04 is to be installed
E: Unable to correct problems, you have held broken packages.

我尝试了几个 sudo apt install -f 或 --fix- 命令,但似乎仍然无法从这些错误中恢复。

答案1

您可以使用以下命令安装 python3 虚拟环境

sudo apt install python3-virtualenv

稍后您可以使用以下命令创建虚拟环境

virtualenv apienv

答案2

创建虚拟环境的最佳方法是

画中画

pip3official package installerpython3 的。它始终与 python 解释器一起安装。使用 pip3 安装virtualenv(python2)venv(python3)包,然后使用venv在您首选的目录中创建虚拟环境。

 
pip3 安装 venv
python3 -m venv /路径/到/新/虚拟/环境

您可以通过其官方文档了解更多信息。

康达

康达提供了一种非常简单的方法来创建环境并在其中安装包。您还可以通过安装用其他语言(如 R)编写的包。conda 会创建一个没有 Python 解释器的空环境(如果需要)。
视窗打开 Anaconda PowerShell Prompt 并导航到要使用环境的文件夹。然后运行以下命令。

conda 创建 -n test_env python==3.6.0

这里,
test_env是虚拟环境的名称,
python==3.6.0是 conda 在新建环境中安装的包。如果没有指定版本,则 conda 将安装最新版本。

使用以下命令激活你的环境

conda 激活 test_env

使用以下命令激活你的环境

conda 停用

UNIX系统您可以直接通过命令行界面访问 conda。创建虚拟环境的命令保持不变。
您可以在此处进一步探索:使用 conda 管理环境

答案3

apt list | grep venv将列出可实现 的 Python 包venv;还有python3-venv几个特定于版本的版本(python3.8-venvpython3.10-venv等)。其中一个或多个可能显示为“已安装”。

我在 Ubuntu 18.04 (Python 3.6.9) 上(卡住了),在新镜像的系统上,我无法发出python -m venv ...错误。我没有首先捕获 的输出apt list,但我捕获了sudo apt install python3-venv,然后我能够创建 venvs。在此之后,apt list显示python3-venvpython3.6-venv安装。

答案4

queue对我来说,python从本地目录而不是系统目录导入包。

  File "/tmp/tmphvbek7a8/pip-20.3.4-py2.py3-none-any.whl/pip/_internal/utils/logging.py", line 9, in <module>
  File "/usr/lib/python3.9/logging/handlers.py", line 28, in <module>
    import queue
  File "${local_folder}/queue.py", line 3, in <module>
    from kafka import KafkaProducer
ModuleNotFoundError: No module named 'kafka'

将目录更改为父目录并运行python3 -mvenv path_to_previous_diurectory/venv

我运行了 OP 中报告的“失败命令”来检查这一点。

相关内容