Я выполняю скрипт python с несколькими параметрами командной строки, но используя сценарий оболочки.Преобразование команды сценария оболочки в командную строку
команды я выполнить для выполнения сценария оболочки:
./scripts/run_qa.sh data/questions/questions.txt data/lexicons/paralex data/weights/paralex.txt data/database > output.txt
run_qa.sh файлы выглядит, как показано ниже (пожалуйста, объясните, как это работает):
#!/bin/bash
set -u
set -e
if [ $# != 4 ]; then
echo "Usage: run.sh questions lexicon weights db"
exit 1
fi
questions=$1
lexicon=$2
weights=$3
db=$4
PYTHONPATH=$PWD/python python -m lex.gearman_worker $lexicon $weights $db < $questions
Я попытался выполнить команду питона, как показано ниже в командной строке:
python -m python/lex/gearman_worker.py data/lexicons/paralex data/weights/paralex.txt data/database > output.txt
whic ч дает ошибку:
/usr/bin/python: Import by filename is not supported.
Update1:
gearman_worker.py импорта файла другие файлы, такие как: тыс
import lex.parse
import lex.semantics
from collections import namedtuple
from collections import defaultdict
импорт линия дает ошибку, как это:
ImportError: No module named lex.lexicon
Update2 (выполненный на терминале linux):
export PYTHONPATH=$/mnt/paralex-evaluation-gearman/python
PYTHONPATH = ./python python -m python/lex/gearman_worker data/lexicons/paralex data/weights/paralex.txt data/database > output.txt
дает:
PYTHONPATH: command not found
Тогда
python -m python/lex/gearman_worker data/lexicons/paralex data/weights/paralex.txt data/database > output.txt
дает:
File "/mnt/paralex-evaluation-gearman/python/lex/gearman_worker.py", line 3, in <module>
import lex.lexicon
ImportError: No module named lex.lexicon
@mu 無: извините, обновил – nlper