如何使用“venv”而不是“virtualenv”在 Windows 应用程序上的 Ubuntu 中创建 Python 虚拟环境?

如何使用“venv”而不是“virtualenv”在 Windows 应用程序上的 Ubuntu 中创建 Python 虚拟环境?

我正在使用在适用于 Linux 的 Windows 子系统上运行的 Windows 上的 Ubuntu 应用程序。因此,第一个问题是 Python 虚拟环境是否受支持。鉴于我对 Python 虚拟环境的了解有限,我认为 Windows 上的 Ubuntu 应用程序支持它们。以下是版本信息:

Windows Ubuntu 应用程序 1804.2019.521.0

Ubuntu 版本 18.04(仿生)

Python 版本 3.6.7(我记得这是默认安装的)。

我想要使​​用的动机venv是这个 reddit 帖子:

venv 本质上是 Python 本身的一部分,可以访问 Python 的内部结构,这意味着它可以用更少的黑客手段以正确的方式完成工作......因此,在 Python 开发人员的支持和支持下,venv 可以被认为是正确完成的 virtualenv。

当我输入问题时出现了类似的问题,但我没有找到可以解决我的问题的问题。

一篇帖子:

由于您特意安装了python3.6Ubuntu 的默认python3版本,即python3.5,因此您必须安装python3.6-venv而不是 ,python3-venv因为这将解析为python3.5-venv。为此,您可以使用sudo apt install python3.6-venv

2018 年 1 月的另一篇文章说,python3.6 -m venv myvenv重新安装 Python3.6.4 后,该操作即可解决。我暂时避免重新安装。

以下是我尝试创建虚拟环境的操作:

1)打开Ubuntu

2)进入我想要创建虚拟环境的目录。

 /home/dgrucza/python-virtual-environments

3)输入python3 -m venv env此返回以下内容:

由于ensurepip不可用,因此虚拟环境未成功创建。在Debian / Ubuntu系统上,您需要使用以下命令安装python3-venv包。

apt-get 安装 python3-venv

您可能需要在该命令中使用 sudo。安装 python3-venv 包后,重新创建虚拟环境。

失败的命令:['/home/dgrucza/python-virtual-environments/evn/bin/python3'、'-Im'、'ensurepip'、'--upgrade'、'--default-pip']

4)尝试通过输入来安装 venv,sudo apt-get install python-venv在提示符下输入我的密码后,返回以下内容:

正在读取软件包列表... 完成 正在构建依赖关系树 正在读取状态信息... 完成 软件包 python3-venv 不可用,但被另一个软件包引用。这可能意味着软件包缺失、已过时或只能从其他来源获得

E:软件包‘python3-venv’没有安装候选项

5)也尝试输入python3.6 -m venv myenv,但收到相同的消息。

由于ensurepip不可用,因此虚拟环境未成功创建。在Debian / Ubuntu系统上,您需要使用以下命令安装python3-venv包。

apt-get 安装 python3-venv

您可能需要在该命令中使用 sudo。安装 python3-venv 包后,重新创建虚拟环境。

失败的命令:['/home/dgrucza/myenv/bin/python3.6'、'-Im'、'ensurepip'、'--upgrade'、'--default-pip']

答案1

我目前所做的:

  1. 打开终端
  2. 转到所需目录
  3. 类型python3 -m venv name_of_virtual_env

如果它不起作用,您能否更新您的问题以显示终端的输出?
编辑
我刚刚在虚拟机 Lubuntu 19.04 上测试了 venv install:
sudo apt install python3-venv
然后我可以使用上述命令创建一个虚拟环境。但是我已经有了Spyder3安装后,一些依赖项可能会随之而来。
正如 Thomas Ward 所建议的,我分享了我的来源:
软件源

相关内容