4

Я установил Python 3.5.2 с помощью Anaconda 4.1.1 в подсистеме Linux Anniversary Edition (WSL), которая является более или менее встроенный Ubuntu 14.04.5 LTS.Anaconda Python virtualdev не может найти libpython3.5m.so.1.0 в подсистеме Windows для Linux (Ubuntu 14.04)

Я установил virtualenv с помощью:

pip install virtualenv 

Затем я попытался создать виртуальную среду внутри ~/temp:

[email protected]:~$ 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. Любая идея, в чем проблема?

+0

Я думаю, что вы должны передать '-p опцию python3' сказать' virtualenv' вы хотите интерпретатор Python 3, т. е. попробуйте 'virtualenv ~/temp/test -p python3' и посмотрите, не изменит ли это что-то. – edwinksl

+0

Nope; добавление '-p python3' ничего не изменило. –

+1

anaconda предпочитает создавать среды с [conda] (http://stackoverflow.com/a/38220776). также см. [anaconda-issues] (https://github.com/ContinuumIO/anaconda-issues/issues/305). – brennan

ответ

13

Я не сталкивался с такой же проблемой или пытался воспроизвести среду WSL. Но обычно, когда что-то подобное происходит с другими библиотеками, это, скорее всего, плохо настроенная среда. Вы должны оформить читательский путь:

echo $LD_LIBRARY_PATH 

И убедитесь, что каталог, который содержит libpython есть. Если нет:

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

Добавить эту последнюю строку в .bash_profile или .bashrc сделать его постоянным.

+3

Вот и все! Я добавил 'export LD_LIBRARY =" $ LD_LIBRARY_PATH: $ HOME/anaconda3/lib "' в мои '.bashrc' и теперь' virtualenv' работает. Большое спасибо! –

0

мое решение:

открыть оболочку

cd 
vim .bashrc 

добавить строку

export LD_LIBRARY_PATH=~/anaconda3/lib