скрипт оболочки в Conda env не может выполнить mkdir - PullRequest
0 голосов
/ 01 июля 2018

Мы работаем в системе Ubuntu, в которой работает conda. В среде (python2, pandas, другие пакеты) мы пытаемся запустить скрипт оболочки, который: 1. создает каталог (mkdir) 2. запускает исполняемые файлы, путь к которым находится в PATH (.bashrc)

Ничего из этого не работает, и я думаю, что это ошибка конфигурации с нашей стороны.

Вот ошибки:

mkdir: cannot create directory ‘ResultsSparCC/Resamplings2’: No such file or directory
mkdir: cannot create directory ‘ResultsSparCC/Bootstraps’: No such file or directory
./sparccWrapper.sh: line 31: ResultsSparCC/sparcc.log: No such file or directory
Traceback (most recent call last):
  File "/home/charlesh/binf/src/sparcc/MakeBootstraps.py", line 9, in <module>
from analysis_methods import permute_w_replacement
  File "/home/binf/src/sparcc/analysis_methods.py", line 7, in <module>
from pandas import DataFrame as DF
    ImportError: No module named pandas

Однако pandas устанавливается в среде:

$conda list|grep pandas
pandas                    0.23.1           py27h637b7d7_0  

Вот фрагмент кода, который нарушает работу скрипта:

#!/bin/bash
////
INPUT_PATH="foo.txt"
OUTPUT_PATH="ResultsSparCC"
///
mkdir  $OUTPUT_PATH/Resamplings2
mkdir  $OUTPUT_PATH/Bootstraps

Предложения

1 Ответ

0 голосов
/ 01 июля 2018

Основное предложение: прочитайте сообщение об ошибке.

mkdir: cannot create directory ‘ResultsSparCC/Resamplings2’: No such file or directory

mkdir жалуется, что нет каталога ResultsSparCC, в котором он должен был бы создать Resamplings2.

Итак, если вы делаете ls -l, вы видите каталог ResultsSparCC? Возможно нет. Что произойдет, если вы выполните mkdir ResultsSparCC / Resamplings2 вручную?

Если вы создаете каталог ResultsSparCC, все скрипты должны работать.

В качестве альтернативы используйте mkdir -p:

#!/bin/bash
#////
INPUT_PATH="foo.txt"
OUTPUT_PATH="ResultsSparCC"
///
mkdir -p $OUTPUT_PATH/Resamplings2
mkdir -p $OUTPUT_PATH/Bootstraps
...