Как я могу активировать среду conda другого пользователя? - PullRequest
0 голосов
/ 31 мая 2018

мой коллега написал скрипт на python, который мне нужно использовать, который вызывается в скрипте оболочки.Это производит участки с matplotlib.Однако, когда я пытаюсь запустить его сценарий, он завершается неудачно в командах matplotlib с «ImportError: Нет модуля с именем PyQt4».Сценарий python вызывается внутри сценария оболочки с синтаксисом, подобным

./script.py

script.py, начинается со строки, указывающей exec python для использования в его среде miniconda, например

#!/user/miniconda/envs/py27/bin/python

Я думаю, что проблема заключается в том, что код использует PyQt по умолчанию в моей системе, когда я запускаю эту команду.Я попытался запустить script.py с python exec в его среде, но это выдает ту же ошибку.Это также происходит, если я пытаюсь запустить скрипт на своем компьютере при входе в свою учетную запись.Можно ли запустить этот скрипт так, как если бы я был моим коллегой в моей учетной записи?

1 Ответ

0 голосов
/ 31 мая 2018

Пусть ваш коллега сгенерирует файл yaml со своими зависимостями среды, а затем создаст копию своего окружения на вашем компьютере для запуска сценария.

# your coworker runs:
conda env export -n [name of his environment] > environ.yml

Как только вы получите файл yaml, вы можете запустить

conda env create -f environ.yml

для копирования окружения.Оттуда активируйте его и запустите скрипт

# on Windows
activate [environment name]
python ./script.py

# on *nix
source activate [environment name]
python ./script.py
...