Anaconda Python virtualdev 在 Linux 的 Windows 子系统上找不到 libpython3.5m.so.1.0 (Ubuntu 14.04)

Anaconda Python virtualdev can't find libpython3.5m.so.1.0 on Windows Subsystem for Linux (Ubuntu 14.04)

我在 Windows 周年纪念版 Linux 子系统 (WSL) 上使用 Anaconda 4.1.1 安装了 Python 3.5.2,它或多或少是嵌入式的 Ubuntu 14.04.5 LTS。

我安装了 virtualenv 使用:

pip install virtualenv

然后我尝试在里面创建一个虚拟环境~/temp:

user@host:~$ virtualenv ~/temp/test
Using base prefix '/home/user/anaconda3'
New python executable in /home/user/temp/test/bin/python
/home/user/temp/test/bin/python: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory
ERROR: The executable /home/user/temp/test/bin/python is not functioning
ERROR: It thinks sys.prefix is '/home/user' (should be '/home/user/temp/test')
ERROR: virtualenv is not compatible with this system or executable

很容易假设这只是一个 WSL 问题,但到目前为止一切正常,而且我在 Ubuntu 上看到了类似的错误报告。知道问题出在哪里吗?

我没有遇到同样的问题或尝试复制 WSL 环境。但通常当其他库发生类似情况时,很可能是环境配置不当。您必须检查您的库路径:

echo $LD_LIBRARY_PATH

并确保包含 libpython 的目录在那里。如果不是:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/the/py/lib/dir

将最后一行添加到您的 .bash_profile.bashrc 以使其永久化。

我的解决方案:

打开一个shell

cd
vim .bashrc

添加一行

export LD_LIBRARY_PATH=~/anaconda3/lib