Почему conda не находит правильных PYTHONPATHS в локальной виртуальной среде? - PullRequest
0 голосов
/ 18 февраля 2019

Редактировать: Целью этой работы является создание среды conda для замены экспорта bash.Поэтому экспорт bash был отключен.

Я создал локальную виртуальную среду conda с именем my_env, используя предварительно установленный файл спецификации conda с именем my_env.txt (такой же, как requirment.txt)

conda create --prefix <path/to/my_env_directory> --file <path/to/my_env.txt>

i.e. conda create --prefix /hjs/jen/projects/my_env --file /hjs/jen/projects/project1/my_env.txt

И я поместил мой paths.pth файл в /hjs/jen/projects/my_env/lib/python2.7/site-packages/paths.pth

Однако он не находит правильный локальный PYTHONPATHS, как показано ниже.

Когда я запускаю python -c "import sys; print '\n'.join(sys.path)" вcheck PYTHONPATHS, я получаю

/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/hjs/jen/project/my_env/lib/python2.7/lib-dynload
/net/home/j/jen/.local/lib/python2.7/site-packages
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/PILcompat
/usr/lib/python2.7/dist-packages/gtk-2.0

Так что в основном conda не должна находить PYTHONPATH в /net/home/j/jen/.local/lib/python2.7/site-packages, так как это НЕ в локальном env, а специфично для пользователя (это в home и jenэто имя пользователя), но это так!

Чтобы проверить это, я создал новый файл test_env.pth в hjs/jen/projects/my_env/lib/python2.7/site-packages/test_env.pth и, конечно, он не нашел этот новый PYTHONPATH

Однако, когда я воссоздаю среду и удаляю оба *.pth файла и заменяю их в /net/home/j/jen/.local/lib/python2.7/site-packages/test_paths.pth, conda находит все PYTHONPATHS, как и раньше, а также /hjs/jen/test_test

/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/hjs/jen/project/my_env/lib/python2.7/lib-dynload
/net/home/j/jen/.local/lib/python2.7/site-packages
/net/home/j/jen/.local/lib/python2.7/site-packages
/hjs/jen/test_test
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/PILcompat
/usr/lib/python2.7/dist-packages/gtk-2.0

Так что в основном яЯ не хочу, чтобы conda находила переменные окружения PYTHONPATH в /net/home/j/jen/.local/lib/python2.7/site-packages /, но ТОЛЬКО в hjs/jen/projects/my_env/lib/python2.7/site-packages/.Как мне этого добиться?

Дополнительная информация: which python показывает только одну установку Python внутри env

Я использую python 2.7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...