繁体   English   中英

Virtualenv 在 docker ubuntu18.04 上不起作用:Python2 -> Python3 上的问题?

[英]Virtualenv did not work on docker ubuntu18.04: Problem on Python2 -> Python3?

我在 docker 上的环境是基于 ubuntu 18.04 构建的。 操作系统正处于从 Python2 到 Python3 的过渡期。

我需要使用 virtualenv 命令的地方。 但是,发生了以下错误。 我该怎么解决?

该命令是从工具链调用的。

因此,我想解决这个问题,除了改变命令。

$virtualenv --python=python3 venv
FileNotFoundError: [Errno 2] No such file or directory: '/home/user/hostcwd/venv/bin/python' -> '/home/user/hostcwd/venv/bin/python3'

添加@ 2/14 22:32

在 venv 目录,目录 bin,lib 中。 一个文件 pyvenv.cfg。

ls -la venv/bin/python
lrwxrwxrwx 1 user user 16 Feb 14 09:06 venv/bin/python -> /usr/bin/python3

我不确定我是否理解你的全部问题。 我只是做了以下事情:

$ docker pull ubuntu:bionic
$ docker run -it --rm ubuntu:bionic

现在在容器中

$ apt update
$ apt install python3-pip
$ pip install virtualenv
$ virtualenv -p python3 myenv
$ source myenv/bin/activate
(myenv) $ python

Python 3.6.9 (default, Nov  7 2019, 10:44:02) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

所以它正确地为python设置了virutalenv。 您可以在Dockerfile 中列出这些命令,以轻松复制我所做的事情。

当我在获取环境之前调用ls -l $(which python3) ,我得到

lrwxrwxrwx 1 root root 9 Oct 25  2018 /usr/bin/python3 -> python3.6

因此,也许您的 virtualenv 是使用 pip(对于 python2)安装的,这在某种程度上导致了问题。 我会尝试清除 virtualenv 并通过 python3 安装它。 容器是短暂的,易于重建。 如果您用于构建容器的任何其他配置可能有助于阐明您的情况,请分享。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM