【发布时间】:2020-10-06 08:51:33
【问题描述】:
我在尝试运行 bash 脚本时遇到了 PYTHONPATH 的一些问题。有 2 个 bash 脚本,clone_and_run.sh 位于根文件夹中。这是克隆一个远程 Git 存储库,然后在该 Git 存储库的根目录中运行另一个 bash 脚本。
但是,在克隆 repo 并执行 run.sh 之后,第二个脚本无法运行 repo 中的 Python 脚本。但是如果我进入 repo root 并执行run.sh,它就可以正常工作。
这是文件夹结构:
root
|----clone_and_run.sh
|----repo(after cloning from remote)
|----source
|----script.py
|----run.sh
clone_and_run.sh:
#!/usr/bin/env bash
set -e
PYTHONPATH=`pwd`./repo/:$PYTHONPATH
git clone https://---------(redacted)
bash ./repo/run.sh
#!/usr/bin/env bash
set -e
PYTHONPATH=`pwd`/../repo:$PYTHONPATH
python ./source/script.py
这是我执行clone_and_run.sh时遇到的错误:python: can't open file './source/script.py': [Errno 2] No such file or directory
克隆后,如果我进入repo并直接执行run.sh,它可以正常工作。我在两个脚本上都尝试了不同的PYTHONPATH,没有运气。
【问题讨论】: