升级到 Ubuntu 18.04 后 Python 虚拟环境不再起作用

升级到 Ubuntu 18.04 后 Python 虚拟环境不再起作用

到目前为止,我在我的计算机上主要使用 Ubuntu 16.04 LTS,几周前我在一个空闲分区上安装了 Ubuntu 18.04 LTS。

现在我将/home/juergen目录从 16.04 分区转移到新的 18.04 分区(我保留默认的单分区方案),操作如下

  1. 将旧的(16.04)分区挂载到新的分区上/mnt,然后
  2. cd /mnt/home
  3. 正在tar -cvzf /home/jb.tgz juergen把所有旧$HOME东西打包放进去jb.tgz
  4. 最后我做到cd /hometar -xvzf jb.tgz

(尽管这些信息与我的问题没有直接关系,但我添加这些信息只是为了“设置背景”)

现在我实际的问题是:我的主目录中有一个大型的 python 虚拟环境,我曾经从中运行 jupyter-lab 和其他应用程序:

juergen@regulus:~/venv/python3sci$ ls
bin  etc  include  lib  lib64  man  pip-selfcheck.json  pyvenv.cfg  share  software
juergen@regulus:~/venv/python3sci$ cat pyvenv.cfg 
home = /usr/bin
include-system-site-packages = false
version = 3.5.2
 

但我不能再使用它了:

juergen@regulus:~/venv/python3sci$ cd bin
juergen@regulus:~/venv/python3sci/bin$ . activate
(python3sci) juergen@regulus:~/venv/python3sci/bin$ jupyter-lab
Traceback (most recent call last):
  File "/home/juergen/venv/python3sci/bin/jupyter-lab", line 5, in <module>
    from jupyterlab.labapp import main
ModuleNotFoundError: No module named 'jupyterlab'
(python3sci) juergen@regulus:~/venv/python3sci/bin$ pip -V
Traceback (most recent call last):
  File "/home/juergen/venv/python3sci/bin/pip", line 7, in <module>
    from pip._internal.main import main
ModuleNotFoundError: No module named 'pip'
(python3sci) juergen@regulus:~/venv/python3sci/bin$ pip3 -V
Traceback (most recent call last):
  File "/home/juergen/venv/python3sci/bin/pip3", line 7, in <module>
    from pip._internal.main import main
ModuleNotFoundError: No module named 'pip'
(python3sci) juergen@regulus:~/venv/python3sci/bin$ 

虚拟环境中的 python 和 pip 条目bin

(python3sci) juergen@regulus:~/venv/python3sci/bin$ ls -la python*
lrwxrwxrwx 1 juergen juergen  7 Nov 10  2019 python -> python3
lrwxrwxrwx 1 juergen juergen 16 Nov 10  2019 python3 -> /usr/bin/python3
(python3sci) juergen@regulus:~/venv/python3sci/bin$ ls -la pip*
-rwxrwxr-x 1 juergen juergen 245 Nov 10  2019 pip
-rwxrwxr-x 1 juergen juergen 245 Nov 10  2019 pip3
-rwxrwxr-x 1 juergen juergen 245 Nov 10  2019 pip3.5

我花了很多时间在 Google 上查找上述错误信息,但没有找到对我的情况有帮助的答案。

问题那么我该怎么做才能让我的虚拟环境重新运转起来?

(如果您需要我的系统的更多输出,我会根据需要在这个问题中对其进行编辑)。

提前谢谢了!

新信息:以下问题

Stackoverflow 问题

正好适合我的问题。似乎不可能指望通过一些神奇的 Python 调用进行简单的升级,因为(那里说的)python3.5(16.04 标准)和 python3.6(18.04 中的新标准)甚至不再是二进制兼容的。

因此,建议的解决方案是创建pip freeze > req.txt(在我的 16.04 安装中的运行虚拟环境中)所需软件包的列表req.txt,然后pip install -r req.txt(在 18.04 安装中新创建的虚拟环境中)重新安装所有必要的依赖项。

它对我而言 99% 效果良好,只有我最追捧的项目pymesh我现在无法重新编译 - 它有大量的依赖项,并且它的用户手册没有提供单独使用 pip 安装的工作流程,所以我预料到了等待的麻烦。

相关内容