当我输入命令 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
创建虚拟环境的最佳方法是
画中画
pip3是official package installer
python3 的。它始终与 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-venv
、python3.10-venv
等)。其中一个或多个可能显示为“已安装”。
我在 Ubuntu 18.04 (Python 3.6.9) 上(卡住了),在新镜像的系统上,我无法发出python -m venv ...
错误。我没有首先捕获 的输出apt list
,但我捕获了sudo apt install python3-venv
,然后我能够创建 venvs。在此之后,apt list
显示python3-venv
并python3.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 中报告的“失败命令”来检查这一点。